Bạn lấy
- id,
- ngày thấp nhất cho id đó và
- bất kỳ của những cái tên đi cùng với nó.
Các cơ sở dữ liệu khác (bình thường) thậm chí sẽ không cho phép truy vấn này. Họ sẽ buộc bạn sử dụng một hàm tổng hợp cho name hoặc thêm tên vào nhóm group by
cũng. MySQL thay vào đó chọn một giá trị ngẫu nhiên và có vấn đề với bạn.
Để giải quyết vấn đề này, truy vấn của bạn sẽ trở nên phức tạp hơn rất nhiều:
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)
Hoặc:
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