我想根据第二个字段的值重新组合我的结果。
我有下表:
SELECT case_id, current FROM progress
+---------+---------+
| case_id | current |
+---------+---------+
| 158 | 1 |
| 158 | 1 |
| 165 | 0 |
| 165 | 0 |
| 166 | 0 |
| 166 | 1 |
| 166 | 0 |
+---------+---------+
并且想像这样重新组合case_id:
+---------+---------+
| case_id | current |
+---------+---------+
| 158 | 1 |
| 165 | 0 |
| 166 | 1 |
+---------+---------+
因此,如果只有' 1',它将是' 1'。 如果只有' 0',我们得到' 0'。但是,如果我们有2个值,但至少有一个' 1'然后它将是' 1'。
我已经尝试使用group
,但它无法正常工作。
我不知道最优化的方法是什么。
答案 0 :(得分:5)
您所描述的内容听起来像max()
:
select case_id, max(current) as current
from t
group by case_id;