Re: [SQL ] select row之間的比較

看板Database作者 (嗯)時間14年前 (2009/12/08 14:27), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《Flyingheart (where are you?)》之銘言: : 如下是一個範例的資料庫 : table 1 : COL1 COL2 : --------------------- : 1 a1 b1 //row 1 : 2 a2 b2 //row 2 : 3 a3 b3 //row 3 : 4 a4 b4 //row 4 簡單來說 就是要讓row[i]的COL1去跟row[i]&row[i+1]的COL2去做比較 不過因為row[i]的順序會隨著ORDER BY欄位而有所改變 所以請先給他一個欄位存放row[i]... 另外因為沒用過ACCESS 不確定是否支援如此的Subquery Table ============================ Row_Id Col_1 Col_2 1 5 2 2 3 4 3 4 2 4 2 1 SELECT a.* FROM Table a LEFT JOIN ( SELECT x.Row_Id, MIN(y.Row_Id) AS NextRow_Id FROM Table x LEFT JOIN Table y ON x.Row_Id < y.Row_Id GROUP BY x.Row_Id ) b ON a.Row_Id = b.Row_Id LEFT JOIN Table c ON b.NextRow_Id = c.Row_Id WHERE a.Col_1 > a.Col_2 AND a.Col_1 > c.Col_2 查詢結果為 Row_Id Col_1 Col_2 1 5 2 3 4 2 (Row[4]因為無下一欄 所以無從比較 直接被刷掉了...) 如果確定不會跳號的話 SELECT a.* FROM Table a LEFT JOIN Table b ON a.Row_Id + 1 = b.Row_Id WHERE a.Col_1 > a.Col_2 AND a.Col_1 > b.Col_2 最後希望我沒有誤會你的意思 (不過其實類似的查詢 板上好像有一大堆了...Orz) -- ◢◣ ◢◣◥████ ◢███◣ ████ ███▉█ ◢█ ◣◢ ██ ███ ◥█ ███▉█ ◢▉█ ◢██ ███ ◢██ ◢██ ███ ◥██◤ █▇▇▇◤ █▉█ █▇▇ █▇ ▉▇▇ █▉█ ██ ▉▉█▏▏◢█ ██▇◣ █▇█ ▇▇█ ██ ███ █▇█▎██ █▉▉█▏▏ rushcat -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.177.73 ※ 編輯: rushcat 來自: 60.251.177.73 (12/08 14:29)

12/08 15:02, , 1F
感謝 這個answer比我想像的難好多啊
12/08 15:02, 1F

12/08 15:06, , 2F
看來我還要多看幾本書啊
12/08 15:06, 2F

12/08 23:04, , 3F
主要是因為這不是 SQL 語言預設要處理的部份吧?
12/08 23:04, 3F
文章代碼(AID): #1B7V7Vhq (Database)
文章代碼(AID): #1B7V7Vhq (Database)