可以說我有兩個表:爲什麼MySQL會加入循環集?
表english
其中有兩列,id
和letter
:
1,a
2,b
3,c
表greek
其中有兩列,id
和letter
:
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
以符合我的預期?
使用LIMIT子句時沒有ORDER BY不作任何感。 –
@Vincent Savard同意這是一個錯字,我通過真正的查詢命令。 – rook