У меня есть стол из Польши Lotto Multi Multi 20/80 истории рисунков. Итак, каждая строка содержит 20 столбцов с номерами в диапазоне от 1 до 80, без повторяющихся чисел внутри строки.
Есть несколько др aws, где пары 80 и 77 появляются вместе в последнем др aws (проверьте ссылку на изображение), но в результате SQL кажется, что не существует никакого числа 80 или даже 77, самое большое из которых - только 63 в столбце nr2 (подробнее смотрите ссылку на изображение). Я пытаюсь выполнить этот фрагмент кода запроса SQL, и кажется, что каким-то образом он «не перехватывает» все столбцы и проверяет максимальное число столбцов 10 (где в этом случае максимальное число составляет 63), и это не t go далее к столбцу с номером 20 (где максимально возможное сохраненное число равно 80).
Это полный SQL код запроса, который я использовал:
CREATE TABLE IF NOT EXISTS unpivot AS
SELECT *
FROM (
SELECT DrawId, N1 as n_value FROM draws union all
SELECT DrawId, N2 as n_value FROM draws union all
SELECT DrawId, N3 as n_value FROM draws union all
SELECT DrawId, N4 as n_value FROM draws union all
SELECT DrawId, N5 as n_value FROM draws union all
SELECT DrawId, N6 as n_value FROM draws union all
SELECT DrawId, N7 as n_value FROM draws union all
SELECT DrawId, N8 as n_value FROM draws union all
SELECT DrawId, N9 as n_value FROM draws union all
SELECT DrawId, N10 as n_value FROM draws union all
SELECT DrawId, N11 as n_value FROM draws union all
SELECT DrawId, N12 as n_value FROM draws union all
SELECT DrawId, N13 as n_value FROM draws union all
SELECT DrawId, N14 as n_value FROM draws union all
SELECT DrawId, N15 as n_value FROM draws union all
SELECT DrawId, N16 as n_value FROM draws union all
SELECT DrawId, N17 as n_value FROM draws union all
SELECT DrawId, N18 as n_value FROM draws union all
SELECT DrawId, N19 as n_value FROM draws union all
SELECT DrawId, N20 as n_value FROM draws
) as T;
SELECT nr1, nr2, count(*) as total
FROM
(
SELECT up1.n_value as nr1, up2.n_value as nr2
FROM unpivot up1
JOIN unpivot up2
ON up1.DrawId = up2.DrawId
AND up1.n_value < up2.n_value
) T
GROUP BY nr1, nr2
ORDER BY nr2 desc;
-- LIMIT 300;
Повторение пар в базе данных
Результаты запроса