假設我有這樣的表:
id ; cat ; val_2 ; val_3
1 ; 1 ; 40 ; 80
2 ; 1 ; 60 ; 90
3 ; 2 ; 10 ; 120
4 ; 2 ; 30 ; 100
5 ; 3 ; 20 ; 40
5 ; 3 ; 40 ; 70
5 ; 3 ; 50 ; 60
現在,我需要對每個類別 cat 進行操作,但不像 sum 和 group by,而是我需要檢查下一行中 val_2 和 val_3 之間的每一行是否為 val_2。所以:
(LAG(val_2) OVER() BETWEEN val_2 AND val_3) OR
(LEAD(val_2) OVER() BETWEEN val_2 AND val_3)
但是如何分別對每個類別進行處理?
uj5u.com熱心網友回復:
您可以添加一個partition by子句:
(LAG(val_2) OVER(PARTITION BY cat ORDER BY id) BETWEEN val_2 AND val_3) OR
(LEAD(val_2) OVER(PARTITION BY cat ORDER BY id) BETWEEN val_2 AND val_3)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/387376.html
上一篇:gomysqlLAST_INSERT_ID()回傳0
下一篇:選擇條件并檢查
