在sql中获取查询计数

时间:2013-03-23 03:29:26

标签: sql sql-server

我的查询如下:

SELECT TOP 100 *
FROM   TABLE1 T1
INNER JOIN TABLE2 T2 ON T1.ID = T2.ID
WHERE  T1.........

如何检索查询返回的行数,不包括前100个。 我想要返回100条记录以及受影响的记录总数。 是否有更简单的方法来做,而不是在没有top关键字并包括count的情况下再次编写整个查询? 例如:

SELECT COUNT(1) AS TableCount
FROM   TABLE1 T1
INNER JOIN TABLE2 T2 ON T1.ID = T2.ID
WHERE  T1.........

1 个答案:

答案 0 :(得分:2)

使用COUNT(1)OVER()您将在Total_Count列中获得表中的记录数。

SELECT TOP 100 *, COUNT(1) OVER() as 'Total_Count'
FROM   TABLE1 T1
INNER JOIN TABLE2 T2 ON T1.ID = T2.ID
WHERE  T1.........