在200GB SQL Server数据库中选择最大的10个

时间:2016-12-14 16:35:08

标签: sql sql-server sql-server-2008

我在SQL server 2008中查询 200GB 数据库。我必须每天在这个数据库上工作很长时间。

我的工作的一部分是做基本的统计:按一些标准找到最大的10。例如,

select ID, sum(value) val
from table
group by ID
order by val desc

我知道{s}服务器中没有limit。所以我的(愚蠢的)方法是获取所有结果并从sql server management studio中手动选择前10名。

这真的很慢。

任何人都可以提供更快的方法吗?

2 个答案:

答案 0 :(得分:4)

你试过了吗?

select top 10 ID, sum(value) val
from database
group by ID
order by sum(value) desc

答案 1 :(得分:0)

with Sel1 as
(
select ID, sum(value) val
from database
group by ID
order by val desc
)
select top 10 *
from Sel1