Anda melakukan group by
(3 kolom) dengan 5 kolom kolom non-agregat dalam daftar pilih. Juga, tidak masalah, tidak ada agregat dalam output kolom.
MySQL memperlakukannya sebagai distinct
(untuk 3 kolom) dan mengembalikan baris pertama yang ditemuinya di cache MRU, dan jika tidak ada cache, yang pertama ditemui dalam indeks berkerumun atau pemesanan fisik untuk memenuhi 2 kolom yang tidak dikelompokkan berdasarkan.
Dengan kata lain, ini adalah kesalahan pengguna. Sebuah snafu. Saya sarankan membersihkan niat Anda dengan GROUP BY
.
Agak terkait, baca jawaban terbaru saya Di sini
terkait dengan ONLY_FULL_GROUP_BY
. Lihat di bagian bawah tautan itu adalah Penanganan MySQL KELOMPOK MENURUT
yang menurut saya adalah gambaran dari masalah nyata dan non-standar yang diizinkan oleh MySQL yang membuat data tidak terduga dan sulit dijelaskan dari pelanggaran Standar tersebut.
Jadi apa yang dilakukan tim pengembang MySQL? Mereka menerapkan standar secara default (mulai dari versi 5.7) untuk melarang jenis kueri yang baru saja Anda lakukan.
Edit1
Permintaan Anda, tanpa GROUP BY
tapi dengan order by newGroups.id,people.id
, pada server versi 5.7.14: