我在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名。
这真的很慢。
任何人都可以提供更快的方法吗?
答案 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