查询表中记录的总行数(不是所有记录的内容)
我只知道可以用@@rowcount这个变量.但是必须先运行一遍"select * from ...",再运行"select @@rowcount".赫赫,有点....
有没有什么办法直接得到结果?
谢谢楼上!
下面是SQL Server的帮助关于count(*)的说明
使用 COUNT(*) 函数
COUNT(*) 函数不需要 expression 参数,因为该函数不使用有关任何特定列的信息。该函数计算符合查询限制条件的总行数。COUNT(*) 函数返回符合查询中指定的搜索条件的行的数目,而不消除重复值。它对每行分别进行计数,包括含有空值的行。以下查询查找 titles 中的书籍总数:
USE pubs
SELECT COUNT(*)
FROM titles
下面是结果集:
------------------
18
(1 row(s) affected)
COUNT(*) 可以与其它聚合函数组合使用。以下查询显示与 AVG 函数组合使用的 COUNT(*),其中两个聚合函数都只聚合满足 WHERE 子句搜索条件的行中的数据:
USE pubs
SELECT COUNT(*), AVG(price)
FROM titles
WHERE advance > $1000
下面是结果集:
----------- ------
15 14.42
(1 row(s) affected)
请参见
COUNT
©1988-2000 Microsoft Corporation。保留所有权利。