[英]Oracle SQL: Obtain count of distinct column values based on another column
這是一個示例數據來解釋我的情況,
公司信息:
Name, Company, Location, Completed, Pending
Andy AA Home 4 2
Jim AA Office 3 3
Dahli AA Home 4 2
Monica AA Home 4 2
Chandler AA Home-Office 1 0
Ashley AA Home-Office 1 0
最后三列有重復的信息,我正在嘗試獲取相互綁定的位置、已完成和待處理的計數。 所以 output 看起來像下面這樣,
Company, Count(Locations), Count( Completed+Pending > 0),
AA 3 3
為什么 Count(Completed+Pending > 0) 是 3? 只有三個獨特的 Home、Office 和 home-office 列組合,其中已完成 + 待處理的總和 > 0。
我確實在下面嘗試過,但它給了我(AA, 3, 6)因為它正在處理所有 6 行以獲得計數。
select Company,
count(distinct Location),
SUM (
CASE
WHEN (Completed + Pending) > 0 THEN 1
ELSE 0
END)
AS Total
From CompanyInfo
group by Company;
任何指針?
我認為你想要一個條件count(distinct)
:
select Company,
count(distinct Location),
count(distinct case when Completed + Pending > 0 then location end)
from CompanyInfo
group by Company;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.