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 に答える