Sql server SQL Server查询以根据多个列计数返回今天日期的1行
我正在尝试编写一个SQL Server查询,其中1行作为客户的多个区域计数的日期戳。它为每个case语句返回一行Sql server SQL Server查询以根据多个列计数返回今天日期的1行,sql-server,Sql Server,我正在尝试编写一个SQL Server查询,其中1行作为客户的多个区域计数的日期戳。它为每个case语句返回一行 Customer Region 1 A 2 A 3 B 4 B 5 B SELECT CONVERT(VARCHAR(10), GETDATE(), 111), case when Region = 'A' then COUNT(Customer) end as 'Regio
Customer Region
1 A
2 A
3 B
4 B
5 B
SELECT
CONVERT(VARCHAR(10), GETDATE(), 111),
case when Region = 'A' then COUNT(Customer) end as 'Region A',
case when Region = 'B' then COUNT(Customer) end as 'Region B',
FROM tbl_Customers
结果:
Date Region A Region B
2017/06/07 2 NULL
2017/06/07 NULL 3
只需在聚合函数中添加CASE表达式:
SELECT CONVERT(VARCHAR(10), GETDATE(),111) [Date],
COUNT(CASE WHEN Region = 'A' THEN Customer END) [Region A],
COUNT(CASE WHEN Region = 'B' THEN Customer END) [Region B]
FROM tbl_Customers;
您需要提供更多细节,如数据布局。理解您正在向从未见过您的代码或数据的人解释您的问题。你需要给我们更多的信息,这样我们才能弄清楚到底发生了什么。请客,谢谢,会回答正确的。很高兴看到社区向那些需要额外帮助的人伸出援手