SELECT
someColumnA,
someColumnB,
FROM someTable
[A COUPLE JOINS HERE]
[A NICE WHERE STATEMENT]
ORDER BY someColumnA DESC
假設這個查詢返回1000個結果。當我申請一個DISTINCT它會凝結下來,讓我們說300.如何在分頁之前獲得不同行總數?
我想要做的只是返回10個結果使用分頁行爲preivew給我的用戶,我想包括DISTINCT的數量總數行。如果我在select中添加一個帶有計數的分頁,它將返回「不同」之前的行數。
這裏是最終的查詢我到目前爲止
SELECT DISTINCT
count(*) OVER() as total,
someColumnA,
someColumnB,
FROM someTable
[A COUPLE JOINS HERE]
[A NICE WHERE STATEMENT]
ORDER BY someColumnA DESC
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY
總= 1000,而不是300我想要的。有沒有簡單的方法來實現這一點,或者我將不得不求助於使用子選擇來獲取所有300個不同的行,然後計算並獲取前10個?