Chytneš
- ID,
- nejnižší datum pro dané ID a
- jakýkoli jmen, která k tomu patří.
Jiné (normální) databáze tento dotaz ani neumožňují. Donutili by vás použít agregační funkci pro name nebo přidejte jméno do group by
také. MySQL místo toho vybere náhodnou hodnotu a je tu váš problém.
Chcete-li to vyřešit, váš dotaz bude trochu složitější:
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)
Nebo:
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