GROUP BY id 具有值 'X' 或值 'Y'

GROUP BY id HAVING value like 'X' or value like 'Y'

Table bo_sip_cti_event_day 有列:uuid, hangup_clause 但我在许多记录中有许多相同的 uuid 与其他 hangup_clause 例如:a, ORIGINATOR_CANCEL, a, NO_ANSWER, a, ALLOTTED_TIMEOUT.

我必须得到所有 uuid,其中 hangup_cause 是 ORIGINATOR_CANCELNO_ANSWER 是相同的 uuid

到目前为止我试过: select uuid from bo_sip_cti_event_day group by uuid having hangup_cause like 'ORIGINATOR_CANCEL' and hangup_cause like 'NO_ANSWER' 但随后错误表明 hangup_cause 必须按子句分组或在聚合函数中。

HAVING 子句中处理聚合。您的情况下的条件聚合:

select uuid
from bo_sip_cti_event_day 
group by uuid
having count(case when hangup_cause = 'ORIGINATOR_CANCEL' then 1 end) > 0
   and count(case when hangup_cause = 'NO_ANSWER' then 1 end) > 0;

这为您提供了两个挂断子句都存在的所有 UUID。