ちょっとこれはすべてのクエリは、私がこれまで持っている:窓関数を使用して合計数を取得します
WITH LIMIT AS
(SELECT
U.userID
,U.username
,U.fname
,U.mname
,U.lname
,U.email
,U.active
,S.sName
,S.sID
,T.[value]
,T.trackingNumberID
,SU.primaryLocation
,row_number() OVER (ORDER BY U.userid) AS RN
,COUNT(*) OVER (ORDER BY U.userid) AS CNT
,UR.roleID
FROM
[---].[dbo].[tblUsers] AS U
LEFT OUTER JOIN [---].[dbo].[tblTrackingNumbers] AS T
ON T.userID = U.userID
LEFT OUTER JOIN [---].[dbo].[tblSU] AS SU
ON U.userID = SU.userID
LEFT OUTER JOIN [---].[dbo].[tblS] AS S
ON SU.sID = S.sID
LEFT OUTER JOIN [---].[dbo].[tblUserRoles] AS UR
ON UR.userID = U.userID
LEFT OUTER JOIN [---].[dbo].[tblRoles] AS R
ON UR.roleID = R.roleID
WHERE
U.active = 1
AND
SU.primaryLocation = 1
AND
SU.active = 1
AND
U.orgID = 1
AND
S.ID = 35
AND U.userID IN (SELECT userID
FROM [---].[dbo].[tblSU] AS SU
INNER JOIN [].[dbo].[tblS] AS S
ON S.sID = SU.sID
WHERE
SU.active = 1
AND
S.sID = 35)
) SELECT * FROM LIMIT WHERE RN Between 0 AND 10000
私はU. BY COUNT(*)OVER(ORDERをしようとしています上記のクエリで見ることができるようにユーザーID)AS CNTこれは私にと同じカウントを与えるRNです。私は必要なもの
は、このバック(842行)をもたらすことになるの記録の総量です。
Count(*)を実行してパーティションを作成しないでください。これはあなたが必要とするものではないでしょうか? – scsimon
Haそれは@a_horse_with_no_nameだった。私はあなたに信用を与えることができるように正式な答えをしてください。 – StealthRT
あなたは1000行未満に制限するためにRNを使用していますか?代わりに、TopまたはFetchを使用してください。 – Hogan