这是我的表:
ID Quantity Item
1 23 10
2 45 10
3 45 10
4 23 10
5 87 10
6 100 NULL
这是我的问题:
SELECT ID, case lead(Item) over (order by ID) when null then 1
else 0 end as Test
FROM tblA
这是我的输出:
ID Test
1 0
2 0
3 0
4 0
5 0
6 0
为什么最后一行输出是6和0而不是6和1?
此致
答案 0 :(得分:2)
我相信它是因为你构造CASE语句的方式是针对null测试lead()函数的结果是否相等。而不是使用这样的结构:
case x when null then 1 else 0 end
试试这个:
case when x is null then 1 else 0 end