5

我有一个查询如下:

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

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

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

1 回答 1

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.........
于 2013-03-23T03:44:27.130 回答