注册 登录
编程论坛 SQL Server论坛

查询表中记录的总行数(不是所有记录的内容)

一个人上路 发布于 2007-03-16 22:49, 1444 次点击
我只知道可以用@@rowcount这个变量.但是必须先运行一遍"select * from ...",再运行"select @@rowcount".
赫赫,有点....
有没有什么办法直接得到结果?
2 回复
#2
reniking2007-03-16 22:54
select count(*) from ...
#3
一个人上路2007-03-16 23:07

谢谢楼上!
下面是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。保留所有权利。

1