[英]Select Two different values from the same column in MySQL and show results
[英]Counting results that have two different values in the same column
我在支持部門工作,我試圖計算將這兩個標簽同時應用於多少個“案例”:
“聊天”和“升級”
這是我正在使用的查詢,但是我得到的數字不正確:
select count(pk_case_number)
from cases c
join labels l
on l.case_number = c.case_number
where lower(label_name) = 'chat'
and exists (select distinct case_number
from cases c
join labels l
on on l.case_number = c.case_number
where l.case_number = c.case_number
and lower(label_name) = 'escalated')
and date(created_at) > '2013-08-11'
“ created_at”在cases表中。
以下查詢列出了條件為真的所有情況:
select pk_case_number
from cases c join
labels l
on l.case_number = c.case_number
group by pk_case_number
having sum(lower(label_name) = 'chat') > 0 and
sum(lower(label_name) = 'escalated') > 0;
以下是對它們的計數:
select count(*)
from (select pk_case_number
from cases c join
labels l
on l.case_number = c.case_number
group by pk_case_number
having sum(lower(label_name) = 'chat') > 0 and
sum(lower(label_name) = 'escalated') > 0
) t
我喜歡使用聚合和having
子句進行這類查詢,因為我發現這是最通用的查詢。 添加所需的新標簽或排除特定標簽很容易(使用= 0
而不是> 0
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.