从SQL数据库表中获取重复对、三元组、四元组等?

从SQL数据库表中获取重复对、三元组、四元组等?,sql,sqlite,unpivot,Sql,Sqlite,Unpivot,我有一张来自波兰乐透多20/80历史绘画的桌子。因此,每行包含20列,数字范围为1到80,行内没有重复的数字 有一些绘图,其中80和77对一起出现在最后一个绘图检查图像链接中,但在SQL结果中似乎没有任何80甚至77个数字,最大的是nr2列检查图像链接中的63个,以了解详细信息。 我正在尝试这段SQL查询代码,但它似乎没有捕获所有列,而是在最大列数10处进行检查,在本例中,最大列数为63,而没有进一步到第20列,其中存储的最大可能数为80 这是我使用的完整SQL查询代码: CREATE TABL

我有一张来自波兰乐透多20/80历史绘画的桌子。因此,每行包含20列,数字范围为1到80,行内没有重复的数字

有一些绘图,其中80和77对一起出现在最后一个绘图检查图像链接中,但在SQL结果中似乎没有任何80甚至77个数字,最大的是nr2列检查图像链接中的63个,以了解详细信息。 我正在尝试这段SQL查询代码,但它似乎没有捕获所有列,而是在最大列数10处进行检查,在本例中,最大列数为63,而没有进一步到第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;

我怀疑问题在于:

 CREATE TABLE IF NOT EXISTS unpivot AS . . .
也就是说,您有一个旧版本的表,并且没有创建新版本

相反,要:

DROP TABLE IF EXISTS unpivot;
然后:


用你正在使用的数据库标记你的问题。n_值的数据类型是什么?请显示表的定义。我目前正在一个SQLite数据库上测试,但计划转移到MySQL,它的命令几乎相同。n_值它是一个int类型。我很久以前就创建了这个表,现在已经没有python脚本了。我解决了这个问题。解决方案就在戈登的上面。非常感谢。是的,你说得对!这就是问题所在!非常感谢你的帮助@溜溜球。你可以考虑接受这个答案。
CREATE TABLE unpivot AS . . .