我正在尝试编写一个SQL语句来创建一个包含普通客户和公司客户数量的国家/地区列表。因此,它应该有3列Country
,Normal customer
和corporate customer
。
Country
列包含来自customer表的所有国家/地区。普通客户和公司客户分别显示每个国家/地区的正常客户数量和公司客户数量。
客户表格包含CustomerID
,company
,country
输出应如下所示:
Country | Normal Customer | Corporate Customer
----------------------------------------------------------------
Japan | 25 | 2
Korea | 23 | 0
到目前为止,我只有这个,但我只需要知道如果我走的是正确的轨道,它还没有完成。
SELECT
Country, company
COUNT
FROM
Customer
WHERE
Company IS NOT NULL
答案 0 :(得分:1)
我假设当没有公司在场时,它是一个正常的'客户在这里;
SELECT
Country
,SUM(CASE WHEN Company IS NULL THEN 1 ELSE 0 END) Normal_Customer
,SUM(CASE WHEN Company IS NOT NULL THEN 1 ELSE 0 END) Corporate_Customer
FROM Customer
GROUP BY Country