我想找到一个日期列的最小值,其中满足另一个条件
即表格:
ID date condition ...
1 3/15 0
1 4/15 1
5123 5/15 1
5123 7/15 1
5123 1/15 0
2 2/15 0
2 1/15 1
2 1/15 1
我想在select语句中使用一行,而不过滤表的其余部分,以产生:
ID date
1 4/15
5123 5/15
2 1/15
我试过了:
min( date with condition = 1 )
min( date where condition = 1 )
case when condition=1 then min(date) end
但是出现语法错误。
答案 0 :(得分:2)
" 我不想过滤表格的其余部分",使用case
表达式进行条件聚合:
select id, min(case when condition = 1 then date end)
from tablename
group by id
答案 1 :(得分:0)
如果您想要最小日期,则需要使用GROUP BY
SELECT ID, MIN(Date) AS Date
FROM TableName
WHERE Condition = 1
GROUP BY ID