gpt4 book ai didi

mysql - 为什么 MySQL 连接返回循环集?

转载 作者:行者123 更新时间:2023-11-29 04:11:13 25 4
gpt4 key购买 nike

假设我有两个表:

english 有两列,idletter:

1,a
2,b
3,c

greek 有两列,idletter:

1,alpha
2,beta
3,gamma

好的,所以我执行查询 select * from english limit 1,5我得到:

2,b
3,c

这是我所期望的。现在我尝试 select english.id,english.letter,greek.letter from english join greek on greek.id=english.id order by english.id asc limit 1,5

2,b,beta
3,c,gama
1,a,alpha
2,b,beta
3,c,gama

什么!?为什么这个集合是圆形的?好的,下一个查询按我预期的那样工作:

select english.id,english.letter,greek.letter from english join greek on greek.id=english.id group by english.id order by english.id asc limit 1,5

2,b,beta
3,c,gama

那么这到底是怎么回事?为什么我需要添加 group by english.id 来让集合的行为像我期望的那样? p>

最佳答案

可能您的 greek 表中有重复的行。

当我在 MySQL 5.5.20 上尝试时它工作正常:sqlfiddle .

这是一个示例,其中我故意在 greek 表中插入了重复的行,它给出的结果与您得到的结果完全相同:sqlfiddle

关于mysql - 为什么 MySQL 连接返回循环集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10661225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com