可以說我有一個擺動分類數據集這樣SQL排序/分頁問題問
ID Col1 Col2 1 a 11 2 b 22 3 c 33 4 d 44 5 e 55
當我做出通過一次返回兩個記錄,我會得到的前兩行尋呼呼叫。
可以說,我想返回相同的數據,但讓我的數據集看起來像
ID Col Val 1 Col1 a 2 Col1 b 3 Col1 c 4 Col1 d 5 Col1 e 1 Col2 11 2 Col2 22 3 Col2 33 4 Col2 44 5 Col2 55
我想編寫一個SQL語句,將返回相同的數據在第一個例子並不透視數據但沒有首先旋轉數據。
一些額外challanges
1)有可能是N列而不是兩個
2)Tt的也應該支持所有列的過濾器。我已經解決了這部分見下文
Filter on pivoted data WHERE Col1 in ('a', 'b', 'c') AND Col2 in ('11', '22') Filter on unpivoted data WHERE (Col = 'Col1' and Val in ('a', 'b', 'c')) or Col != 'Col1') AND (Col = 'Col2' and Val in ('11', '22')) or Col != 'Col2') Both filters return the same results.
濾光片部分我已經想通了,已經我被困在排序和分頁。
我正在看的一個選擇是使用ROW_NUMBER,然後對其進行排序和翻頁。 –