考虑一个表“t1”:
+------------------------------+
| timestamp | name | group_fk |
+------------+------+----------+
| 1362297600 | abc | 41 |
| 1362384000 | bcd | 41 |
| 1362470400 | cde | 41 |
| 1362556800 | def | 42 |
| 1362643200 | efg | 42 |
+------------------------------+
我需要在每个“group_fk”中选择具有最小“时间戳”的“名称”。所以结果应该是:“abc”和“def”。
我知道这样做的丑陋(并不总是正确)的方式:
select name
from t1
where t1.timestamp IN (
select min(t1_inner.timestamp)
from t1 t1_inner
group by t1_inner.group_fk
)
有更好的解决方案吗?
-- DM