首页 > 解决方案 > 在 Select 子句中删除 Where 子句?

问题描述

我有以下 SQL 代码:

Select count(City), count("All" Cities) from table1
Where City=London

在“选择条款”中,仅显示名称为伦敦的城市。但是是否可以在所有城市的 select 子句中进行额外的计算。不仅是“伦敦”这个名字的城市吗?是否可以删除 where 子句,但只能在一个选择列中?

标签: sql-server

解决方案


认为你所追求的是 1 个条件聚合,而一个不是:

SELECT COUNT(CASE City WHEN 'London' THEN 1 END) AS London,
       COUNT(*) AS Cities
FROM dbo.Table1;

推荐阅读