SQL中的各种列

时间:2016-05-16 07:56:41

标签: sql sqlite

我正在尝试编写一个SQL语句来创建一个包含普通客户和公司客户数量的国家/地区列表。因此,它应该有3列CountryNormal customercorporate customer

Country列包含来自customer表的所有国家/地区。普通客户和公司客户分别显示每个国家/地区的正常客户数量和公司客户数量。

客户表格包含CustomerIDcompanycountry

输出应如下所示:

Country   | Normal Customer | Corporate Customer 
----------------------------------------------------------------
Japan     | 25              |    2
Korea     | 23              |    0

到目前为止,我只有这个,但我只需要知道如果我走的是正确的轨道,它还没有完成。

SELECT  
    Country, company
 COUNT 
FROM 
    Customer 
WHERE 
    Company IS NOT NULL

1 个答案:

答案 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