Re: [SQL ] select row之間的比較
※ 引述《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
12/08 15:02, 1F
推
12/08 15:06, , 2F
12/08 15:06, 2F
推
12/08 23:04, , 3F
12/08 23:04, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):