sql server一列的相邻两个日期的范围值怎样取到
2022-01-02
2022-01-05
2022-01-05
2022-01-05
2022-01-10
2022-01-15
2022-01-15
2022-01-27
想取他的相邻两个日期的范围 如 把2022-01-02到2022-01-05内所在日期为一组,2022-01-05到2022-01-10里所有日期为一组用sql 语句怎么写?
建议你以表格的形式说明一下你想要输出的数据格式,目前题目里描述得不是很清楚,实在没看出分组是在干啥。
我唯一想到的合理需求是想获取向下数距离当前行最近的一个不相同日期了
原日期 | 找到日期 |
---|---|
2022-01-02 | 2022-01-05 |
2022-01-05 | 2022-01-10 |
2022-01-05 | 2022-01-10 |
2022-01-05 | 2022-01-10 |
2022-01-10 | 2022-01-15 |
但是也不清楚需求,是要去重还是要在原数据上增加一列,题目里已知信息太少了,建议把问题背景描述一下吧,思路别跑偏了
首先,举例中的分组信息不是太清楚,2022-01-02到2022-01-05 为一组,2022-01-05到2022-01-10为一组,这样统计或者输出的话,会有数据重复的情况,需要确认是否是业务需要的;
然后就是实现,这个问题其实就是偏移量的问题,在sql server 2012版本之后,可以使用LEAD和LAG函数进行数据的打标处理,LEAD 往后找,LAG往前找,都是可以满足你的需求的。
可以说一下想要得到的结果格式吗