34,590
社区成员
发帖
与我相关
我的任务
分享
USE tempdb
GO
IF OBJECT_ID('dbo.[t]') IS NOT NULL
DROP TABLE dbo.[t]
GO
CREATE TABLE dbo.[t](
[买家数据] NVARCHAR(20)
,[省份] NVARCHAR(10)
,[城市] NVARCHAR(10)
,[客单类别] NVARCHAR(10)
)
GO
SET NOCOUNT ON
INSERT INTO dbo.[t] VALUES(N'张三',N'湖北',N'武汉',N'低客单')
INSERT INTO dbo.[t] VALUES(N'李四',N'湖北',N'武汉',N'高客单')
INSERT INTO dbo.[t] VALUES(N'王五',N'湖北',N'武汉',N'高客单')
INSERT INTO dbo.[t] VALUES(N'赵六',N'湖南',N'岳阳',N'高客单')
INSERT INTO dbo.[t] VALUES(N'钱七',N'湖南',N'长沙',N'低客单')
INSERT INTO dbo.[t] VALUES(N'孙八',N'湖南',N'长沙',N'低客单')
------- 以上为测试表及测试数据 ---------
SELECT t.[省份]
,t.[城市]
,SUM(CASE WHEN 客单类别='低客单' THEN 1 ELSE 0 END) AS 低客单数
,SUM(CASE WHEN 客单类别='高客单' THEN 1 ELSE 0 END) AS 低客单数
FROM t
GROUP BY t.[省份],t.[城市]
ORDER BY t.[省份],t.[城市]
/*
省份 城市 低客单数 低客单数
---------- ---------- ----------- -----------
湖北 武汉 1 2
湖南 长沙 2 0
湖南 岳阳 0 1
*/