Anda ambil
- id,
- tanggal terendah untuk id itu, dan
- apa saja dari nama-nama yang menyertainya.
Basis data (normal) lainnya bahkan tidak mengizinkan kueri ini. Mereka akan memaksa Anda untuk menggunakan fungsi agregat untuk nama , atau tambahkan nama ke group by
demikian juga. MySQL malah memilih nilai acak, dan itulah masalah Anda.
Untuk mengatasi ini, kueri Anda akan menjadi sedikit lebih rumit:
select
t.id,
t.mydate,
t.name
from
myTable t
where
t.mydate =
(select
min(td.mydate)
from
myTable td
where
td.id = t.id)
Atau:
select
t.id,
t.mydate as date,
t.name
from
myTable t
inner join
(select
td.id
min(td.mydate) as date
from
myTable td
group by
td.id) tx on tx.id = t.id and tx.date = t.mydate