我错过了一层我认为不相关的复杂性,但似乎就是这样,因为 MIN() 建议似乎不适用于此。
我有一个看起来像的表:
col-1 | col-b | col-c | col-d
----------------------------------
mhm1 | a | 09:20 | 2013-09-21
mhm1 | b | 09:21 | 2013-09-20
mhm1 | c | 09:22 | 2013-09-19
mhm1 | c | 09:23 | 2013-09-18
mhm1 | d | 09:24 | 2013-09-19
mhm2 | a | 09:25 | 2013-09-21
mhm2 | c | 09:26 | 2013-09-20
mhm2 | d | 09:27 | 2013-09-19
mhm2 | c | 09:28 | 2013-09-18
我想要一个查询,它返回每个唯一 col-1 的第一行,其中 col-b = 'c'。
例如
col-1 | col-b | col-c | col-d
---------------------------------
mhm1 | c | 09:23 | 2013-09-18
mhm2 | c | 09:28 | 2013-09-18
实现此目的的适当 SQL 请求是什么?我努力了:
SELECT col-a, col-b, min(col-c), min(col-d) FROM MY TABLE
WHERE col-b = 'c'
GROUP BY col-a
ORDER BY col-c ASC
但我得到:
col-1 | col-b | col-c | col-d
---------------------------------
mhm1 | c | 09:22 | 2013-09-18
mhm2 | c | 09:26 | 2013-09-18
这不是我想要的。
谢谢