テーブル「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