一列独特的笛卡尔积

时间:2016-02-22 20:25:08

标签: mysql sql

我有一张桌子"动词"在我的数据库中,唯一的属性是" word"。最初的任务是创建一个列表,将每个条目与其余条目进行比较。我通过输入命令完成了这个:

select * from verb as word cross join verb;

现在我想修改查询,以便删除重复项,只显示前10个结果。我被困了

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

select v1.word as word1, v2.word as word2
from verb v1 join
     verb v2
     on v1.word < v2.word
limit 10;

(如果您希望两个单词出现两次,请使用<>而不是<。)

这会将结果限制为10行。除非使用order by,否则没有SQL表的“第一”概念。您尚未指定排序,因此这只是数据库决定返回给您的10行。