有没有更好、更短的方法来生成如下所示的 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
当我在小数据上使用这个查询时,看起来没有什么区别,但是当我在大数据上使用这个查询时,查询变得很慢。 (我有超过 600k 行)
目前我有如下所示的表格
注意:我使用的是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
关于sql-server - 更好地查询 "Select"内的 "Select",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59206160/