Tôi có biểu thức bảng chung rất béo, bao gồm số hàng để tôi có thể trả lại tập kết quả được phân trang. Tôi cũng muốn trả lại tổng số bản ghi phù hợp với truy vấn trước khi tôi đặt trang kết quả.Làm thế nào để tham khảo một CTE hai lần?
with recs as (select *, row_number() over (order by id) as rownum from ......)
select * from recs where rownum between @a and @b .... select count(*) from recs
Rõ ràng truy vấn của tôi ở trên là chắp vá, nhưng nó chỉ để minh họa quan điểm của tôi. Tôi muốn một trang kết quả VÀ tổng số trận đấu. Làm thế nào để làm điều này mà không cần phải sao chép và dán toàn bộ 20 dòng CTE?
Tôi có thể xem xét đổi tên câu hỏi này vì câu trả lời được chấp nhận không thực sự sử dụng CTE hai lần. –