sql 分组后根据条件去掉整组

GROUP  BY t.Id
HAVING  (count(ti.`Status`) != COUNT(IF(ti.`Status` = 16,1,NULL))) 
AND (COUNT(IF(ti.`Status` IN(2,4,8), 1, null)) < 1)

分组后
如果这组内的status都是16 那么这组过滤掉
如果这组内status包含包含 2 4 8 那么这组过滤掉
主要思路是count(null)

猜你喜欢

转载自www.cnblogs.com/caiyangcc/p/13365818.html
今日推荐