我有三列:标识符、driver_id、driver_id_was
我的条件是消除那些总是将 driver_id 和 driver_ids_was 设为 -1 的标识符。
但我当前的查询正在做相反的事情。它包括至少一次具有 driver_id 和 driver_id_was 为 -1 的所有标识符。
SELECT identifier
,model
,sw_pkg_version
,COUNT(CASE WHEN driver_id_was != -1 THEN 1 ELSE NULL END) AS "count_driver_id_was_not"
,COUNT(CASE WHEN driver_id_was = -1 THEN 1 ELSE NULL END) AS "count_driver_id_was"
,COUNT(CA
FROM eld_messages
WHERE model LIKE '%ca'
AND created_at > getdate()-30
GROUP BY identifier
,driver_id_was
,model
,sw_pkg_version
,driver_id
HAVING count_driver_id_was_not = 0
AND count_driver_id_was > 0;
我的条件是消除那些总是将 driver_id 和 driver_ids_was 设为 -1 的标识符。
这是你想要的吗?
select identifier
from eld_messages
group by identifier
having sum(case when count_driver_id_was_not <> -1 then 1 else 0 end) > 0 or
sum(case when count_driver_id_was <> -1 then 1 else 0 end) > 0;
或者,类似但更简洁:
select distinct identifier
from eld_messages
where count_driver_id_was_not <> -1 or count_driver_id_was <> -1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句