あなたがつかむ
- ID、
- そのIDの最低日、および
- 任意 それに伴う名前の。
他の(通常の)データベースでは、このクエリも許可されません。 名前に集計関数を使用するように強制されます 、または名前を追加します group by
同じように。 MySQLは代わりにランダムな値を選択しますが、問題があります。
これを解決するために、クエリは少し複雑になります:
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)
または:
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