[英]How to determine next row value using select and case in SQL server?
在 SQL 中使用 select 和 case 語句
如果 LETTER 列的下一行是 D,如何使第 4 列為“1”。請參見下面的示例:
您可以將CASE
與LEAD()
結合使用。 假設您正在step
訂購,查詢可能如下所示:
select
t.*,m
case when lead(letter) over(order by step) = 'D'
then 1 else 0 end as is_next_row_letter_d
from t
假設STEP
列提供了排序並且它是連續的,我們可以在這里使用自連接方法:
SELECT t1.STEP, t1.ID, t1.LETTER,
CASE WHEN t2.LETTER = 'D' THEN 1 ELSE 0 END AS IS_NEXT_D
FROM yourTable t1
LEFT JOIN yourTable t2
ON t2.STEP = t1.STEP + 1
ORDER BY t1.STEP;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.