从最终目标开始,我想要一个如下所示的结果集:
name | completed
_________________
Josh | T
Tom | T
Harry | F
我有一个看起来像这样的表
id | name | status
__________________
1 Josh complete
2 Josh errored
3 Tom generating
4 Tom complete
5 Harry pending
从结果集中可以看到,我想让每个人都知道他们是否有完整的状态。
我想我想遍历检查语句status = 'complete'
的by by子句中的每一行,但是我很努力。
答案 0 :(得分:2)
您可以进行聚合:
select name, coalesce(max(case when status = 'complete' then T end), 'F') as completed
from table t
group by name;
答案 1 :(得分:2)
您可以使用bool_or
aggregate function:
li <- list(A = 2, A = 4, B = 2)
收益
SELECT name, bool_or(status = 'complete')
FROM test
GROUP BY name