我很难说出我需要的东西/措辞搜索结果,所以如果这是一个愚蠢的问题/之前已经得到回答,那么道歉。我试图在SQL中为一个表编写一个查询,如下所示:
Country Unique_ID
US 123
US 124
UK 125
Australia 126
这将输出以下表格:
Country Count_Distinct
US 2
UK 1
Australia 1
All 4
我知道我可以选择countryid并统计国家/地区代码,我知道我可以统计国家/地区代码以获得" All"数。我无法弄清楚如何编写查询以获得跟随输出,而不是两个单独的查询。
如果您需要信息或说明,请告诉我。谢谢!
答案 0 :(得分:4)
使用WITH ROLLUP
:
select Country, count(distinct Unique_ID) Count_Distinct
from mytable
group by Country
with rollup
如果你想要文字" All" (默认情况下,您获得国家null
),将其包装在另一个查询中以将空值更改为"所有":
select coalesce(Country, "All") Country, Count_Distinct
from (
select Country, count(distinct Unique_ID) Count_Distinct
from mytable
group by Country
with rollup
) x
答案 1 :(得分:0)
请你试试这个:
选择country,count(distinct unique_id)作为count distinct 从表 按汇总分组(国家/地区)