尽管您还没有发布完整的查询,但是您可以尝试这样的操作
declare @columnSortNameDirection varchar(5)
;WITH resultSetCTE AS
(
select ROW_NUMBER() OVER
(
ORDER BY nr.is_read,nr.is_read_cashier,
CASE @columnSortNameDirection WHEN 'Pin' THEN r.name END ASC,
CASE @columnSortNameDirection WHEN 'PinDesc' THEN r.firstname END DESC
) AS 'row_num',* from ( SELECT
r.clave_receiver AS 'Pin',
r.id_branch AS 'Id_Branch',
r.id_receiver AS 'Id_receiver',
s.name_sender AS 'SenderFullName',
r.name_receiver AS 'ReceiverFullName',
r.id_flag_receiver AS 'Status',
pas.option_name AS 'ApprovalStatus',
r.mode_pay_receiver AS 'PaymentModeId'
UNION ALL
SELECT
r.clave_receiver AS 'Pin',
r.id_branch AS 'Id_Branch',
r.id_receiver AS 'Id_receiver',
s.name_sender AS 'SenderFullName',
r.name_receiver AS 'ReceiverFullName',
r.id_flag_receiver AS 'Status',
pas.option_name AS 'ApprovalStatus',
r.mode_pay_receiver AS 'PaymentModeId') as A
)
Select *,
(SELECT COUNT(1) FROM resultSetCTE) AS 'RecordCount'
FROM resultSetCTE
WHERE row_num BETWEEN (1 - 1) * 15 + 1 AND 1 * 15
ORDER by IsRead,IsReadCashier