1
我的表包含類似下面的每一列分頁要求,的Oracle SQL選擇多列在一個查詢不同的值基於不同的價值
CUSTOMER_ID ATTR1 ATTR2
1 V1_0001 V2_0001 2 V1_0001 V2_0001 3 V1_0001 V2_0001 4 V1_0001 V2_0002 5 V1_0001 V2_0003 6 V1_0002 V2_0004 7 V1_0003 V2_0005 8 V1_0004 V2_0005 9 V1_0004 V2_0005 10 V1_0005 V2_0006 .. ....... ....... 100000 V1_0120 V2_0268
選擇100000行。
有沒有什麼辦法可以在一個查詢中選擇每列的不同值(不使用按列出的列) - 也沒有使用UNION? Customer_Id不是必需的。
複雜性在於我需要將兩列的不同值限制爲每列100個記錄(第一個)。
換句話說我的結果應該是這樣的,
ATTR1 ATTR2
-------
V1_0001 V2_0001
V1_0002 V2_0002
V1_0003 V2_0003
....... .......
V1_0100 V2_0100
如果該列的不同值不足100,則返回null(或無值)無誤。
這只是我原始查詢的一小部分,我可以管理的其餘部分。 請幫忙。
不使用GROUP BY或者是某種形式的測試任何一點? – Mihai
GROUP BY attr1,attr2給了我一個聯合的分組結果,因爲我需要單獨的DISTINCT attr1,DISTINCT attr2並選擇attr1的前100或更少,並選擇attr2的前100或更少。有時attr1可能只有50個值,但需要決定使用rownum還是rank。 –