-2
考虑表“T1”分组:SQL查询来选择“名”以最小的“时间戳”,由“group_fk”
+------------------------------+
| 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
“更好” 在何种意义上,到底是什么? – 2013-03-05 23:50:33
哪些是dbms? – 2013-03-05 23:53:52