暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL每日一题(20230613)

SQL数据库开发 2023-06-13
127

点击关注公众号,SQL干货及时获取

后台回复:1024,获取海量学习资源
SQL刷题专栏
SQL145题系列


大家注意:因为微信改了推送机制,会有小伙伴刷不到当天的文章,一些比较实用的知识和信息,错过了就是错过了。所以建议大家加个星标,就能第一时间收到推送了。

题目
有如下一张表G0613

希望得到如下结果:

该如何写这个SQL?
解释:同一个CODE组,DATE从小到大排序,需要实现每个日期到下一个日期的前一天作为结束日期,例如:CODE为1001组,第一个日期是2021-01-01,第二个日期是2021-03-02,那么第一个日期2021-01-01的结束日期就是2021-03-01,以此类推,如果是最后一个日期,那么结束日期默认为:9999-12-31

测试数据
CREATE TABLE G0613
(
CODE INT,
INVTP VARCHAR(10),
DATE DATE
)

INSERT INTO G0613 VALUES (1001,'A','2021/1/1');
INSERT INTO G0613 VALUES (1001,'B','2021/3/2');
INSERT INTO G0613 VALUES (1001,'C','2021/4/1');
INSERT INTO G0613 VALUES (1002,'AA','2021/1/1');
INSERT INTO G0613 VALUES (1002,'BB','2021/2/28');
INSERT INTO G0613 VALUES (1003,'CC','2021/1/1');

参考答案

应读者的要求,我将参考答案公布了,有需要的同学可以在下方公众号「数据前线」(非本号)后台回复关键字:G0613,即可获取。还是建议先独立答题~

数据前线

——End——

后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群

推荐阅读

文章转载自SQL数据库开发,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论