2つのテーブルがあるとしましょう。
english
2つの列を持つ テーブル、id
およびletter
:
1,a
2,b
3,c
greek
2つの列を持つ テーブル、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
セットのを期待どおりの動作に追加する必要があるのはなぜですか?