Подтвердить что ты не робот

Как сгенерировать перестановки или комбинации n строк в m столбцах?

Кто-нибудь знает, как создать таблицу с m столбцами из таблицы из n строк, где значения в столбцах каждой строки представляют собой другую комбинацию или перестановку значений из исходной таблицы?

Например, исходная таблица имеет 1 столбец (number_value) с 3 (n = 3) строками:

1
2
3

Таблица, которая содержит комбинации (порядок не имеет значения) двух значений (m = 2), будет следующей:

number1, number2
1,2
1,3
2,3

и таблица перестановок будет следующей:

number1, number2
1, 2
2, 1
1, 3
3, 1
2, 3
3, 2

Порядок строк не имеет значения.

Заранее благодарю вас!

4b9b3361

Ответ 1

Комбинации:

SELECT T1.x, T2.x
FROM your_table T1
JOIN your_table T2
ON T1.x < T2.x

Перестановки:

SELECT T1.x, T2.x
FROM your_table T1
JOIN your_table T2
ON T1.x != T2.x

Я предполагаю, что значения в исходной таблице уникальны.

Чтобы обобщить для больших значений m, вам нужно добавить больше объединений.