是否有更好和更短的方法来产生如下所示的SQL查询?较短的查询或/和影响最快的性能发送到服务器的效果更好
select TowerID, COUNT(TowerID) as 'QTY'
from (
select TowerID, [USER] as 'QTY'
from ColoEngDBLocal..Carriers
where [Status] not like '%removed%'
group by TowerID, [USER]
) as a
group by TowerID
order by TowerID
当我在小数据上使用此查询时似乎没有什么区别,但是当我在大数据上使用此查询时,查询变慢。 (我的行超过60万)
目前,我有如下所示的表
注意:我正在使用SQL Server 2008 R2
尝试一下:
简单COUNT(DISTINCT ....)将为您提供帮助。
select TowerID, COUNT(DISTINCT [USER]) as 'QTY'
from ColoEngDBLocal..Carriers
where [Status] not like '%removed%'
group by TowerID
ORDER BY TowerId