如何在表中的单个列上使用SQL Server 2005中的TOP
函数以及count函数?
我只得到一个这个查询的计数,我应该有35个条目。 这是我的查询
select top(1) room_no, count(room_no) from rooms
答案 0 :(得分:1)
看起来像你想要的是以下内容:
select room_no,count(room_no)
from rooms
group by room_no
BTW,我想知道为什么没有group by
就会执行。应该抛出错误。
答案 1 :(得分:0)
在TOP之后评估COUNT函数。这就是为什么你只得到一个计数。你想要的是这样的东西
SELECT TOP(1) dbo.Table.Column1, (SELECT COUNT(*) FROM dbo.Table)
FROM dbo.Table
同样如上所述,你真的应该通过某种方式订购。
编辑:这也有效:
SELECT TOP(1) dbo.Table.Column1, COUNT(*) OVER() AS Total
FROM dbo.Table
似乎也更有效(尽管只在小数据集上测试过)。