【发布时间】:2021-08-19 22:16:56
【问题描述】:
我正在学习 SQL,遇到了下面提到的场景。
Table 1
id Name City
1 Ryan Chennai
2 Tom Banglore
3 Sam Pune
4 Kat Mumbai
Table 2
id month salary
1 prev 1000
1 cur 4000
1 next 3000
2 prev 1000
2 cur 3000
2 next 4000
3 prev 2000
3 cur 5000
3 next 6000
4 prev 1500
4 cur 2500
4 next 3000
输出表应该是这样的
id name city cur prev next
1 Ryan Chennai 4000 1000 3000
2
3
4
(对于其他 id 也是如此。)
那么有哪些不同的方法可以实现这一点,如果有人帮助我了解如何解决这些问题,那将非常有帮助。
【问题讨论】:
-
你真的不需要使用Lead或lag。这可以使用三个 SUM(CASE...) 语句和一个 group by 来完成。
-
为什么只有一行是空的?
标签: mysql sql window-functions lag lead