我在制定此問題時遇到問題,因此我將舉例說明。考慮我的表作爲,從具有特定列值但按不同列值排序的表中獲取所有行
CREATE TABLE ABC
(
PID NUMBER(10,0) NOT NULL,
DISP_COL VARCHAR2(100 BYTE),
VAL_COL VARCHAR2(20 BYTE),
ORD_COL1 NUMBER(5,2),
ORD_COL2 NUMBER(5,2),
CONSTRAINT PK_PID PRIMARY KEY
(
PID
)
);
而且我是數據,
PID | DISP_COL | VAL_COL | ORD_COL1 | ORD_COL2
----------------------------------------------
1 | DISP1 | VAL1 | 1 | 14
2 | DISP2 | VAL26 | 2 | 22
3 | DISP1 | VAL8 | 1 | 17
4 | DISP1 | VAL56 | 1 | 9
5 | DISP2 | VAL9 | 2 | -10
6 | DISP3 | VAL12 | 2 | 20
7 | AISP1 | VAL7 | 2 | -3
現在基於ORD_COL1,ORD_COL2從高到低排序,我想要得到的唯一DISP_COL值,然後的所有行DISP_COL值將遵循。所以,我的數據謹
PID | DISP_COL | VAL_COL | ORD_COL1 | ORD_COL2
----------------------------------------------
2 | DISP2 | VAL26 | 2 | 22
5 | DISP2 | VAL9 | 2 | -10
6 | DISP3 | VAL12 | 2 | 20
7 | AISP1 | VAL7 | 2 | -3
3 | DISP1 | VAL8 | 1 | 17
1 | DISP1 | VAL1 | 1 | 14
4 | DISP1 | VAL56 | 1 | 9
一個簡單的ORDER BY ORD_COL1 DESC,ORD_COL2 DESC確實讓我我想要DISP_COL發生,但後來我想同樣的重視行遵循的順序。
我是一種新的oracle和pl/sql,所以所有的幫助表示讚賞。提前致謝。
這樣有什麼錯'ORDER BY ORD_COL1 DESC,ORD_COL2 DESC'一遍嗎?它會產生與你的帖子完全相同的輸出。 – Quassnoi
我很抱歉,我現在更改了表格值,以更好地反映我的問題。一個簡單的'ORDER BY ORD_COL1 DESC,ORD_COL2 DESC'會把PID:5放在PID之下:6 –