我希望能按一列分组,获取第二列的最小值和最大值,并且(这是棘手的部分!)获取第三列的值,其中第二列在分组中具有最小值。
例子:
MyTable:
ID TS GRP
==================
1 20 A
2 20 B
3 10 A
4 30 A
5 10 B
6 40 A
期望结果(ID应该是TS取得最小值的记录中的值):
ID MIN_TS MAX_TS GRP
============================
3 10 40 A
5 10 20 B
通常,分组查询非常简单:
SELECT <???> AS ID, MIN(TS) AS MIN_TS, MAX(TS) AS MAX_TS, GRP
FROM MyTable
GROUP BY GRP
但是ID部分怎么办?使用分组时不起作用,对吗?为什么呢?有什么最好的解决方法?