我将人物图像保存在一张表中,一个人将有多个图像,每个图像的状态为 1 或 0,我们需要根据图像状态获取记录。如果一个人记录的图像状态全为 1,那么我们需要考虑该记录,如果任何一个状态为 0,那么我们需要从结果中跳过该记录
Original Result
id psqno status
1 1 1
2 1 1
3 1 0
4 2 1
5 2 1
6 3 1
7 3 0
8 4 1
9 4 1
Expected Result
id psqno status
1 2 1
2 4 1
我已经尝试过如下查询:
select count(distinct psqno) as image_record from users where status = 1
我想获得所有状态为 1 的图像的结果计数。
您可以使用条件聚合来查找不存在其他状态的组:
SELECT psqno
FROM t
GROUP BY psqno
HAVING COUNT(CASE WHEN status = 1 THEN 1 END) = COUNT(*) -- all rows have status = 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句