社区
MS-SQL Server
帖子详情
求段sql
caoyang0299
2019-04-28 09:26:49
表中数据如下
-30 -10 20 -30 50 -100 40
510 100 -20 200 -30 -40 300
其中第一列数据为后6列数据的和,
想实现的效果,根据第一列的数据的正负,修改后6列数据,
第一列是负数,就是负数从后往前进行冲减,
正数同理
显示结果
-30 -10 0 -20 0 0 0
510 100 0 200 0 0 210
sql应该如何写,谢谢!
...全文
304
1
打赏
收藏
求段sql
表中数据如下 -30 -10 20 -30 50 -100 40 510 100 -20 200 -30 -40 300 其中第一列数据为后6列数据的和, 想实现的效果,根据第一列的数据的正负,修改后6列数据, 第一列是负数,就是负数从后往前进行冲减, 正数同理 显示结果 -30 -10 0 -20 0 0 0 510 100 0 200 0 0 210 sql应该如何写,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yolyry
2019-05-03
打赏
举报
回复
看你表达,感觉明白了,一看你要求显示的结果,直接蒙B了,510-300=210没问题,510-(-40)为啥=0呢?这个规则是啥??不理解
SQL
面试题——拼多多
SQL
面试题 求连续段的最后一个数及每个连续段的个数
今天的题目来自拼多多,我们先看一下题目描述有一张表ids记录了id,id不重复,但是会存在间断,求出连续段的最后一个数及每个连续段的个数。+---+| id|+---+| 1|| 2|| 3|| 5|| 6|| 8|| 10|| 12|| 13|| 14|| 15|+---+整体而言还是个连续问题,这里我们使用了两种创建连续标志的思路,一种是和上一个值比较,一种是使用序号做差值。
大数据面试
SQL
(九):求连续段的最后一个数及每个连续段的个数
根据diff进行判断,如果差值为1代表连续赋值为0,否则代表不连续赋值为1,然后使用sum()进行累积计算,获得分组依据字段。3、根据重新分组标签进行分组,使用聚合函数max(),count()计算出每组的最后一个数和每组的个数。1、本题还是对重新分组的考察,首先使用lag函数,计算与上一ID的差值,为1则代表连续,否则存在断点。有一张表t3_id记录了id,id不重复,但是会存在间断,求出连续段的最后一个数及每个连续段的个数。3、分组聚合,过滤count()大于1才是连续的数据得出结果。
SQL
面试题——拼多多
SQL
面试题 求连续段的起始位置和结束位置
整体而言还是个连续问题,这里我们使用了两种创建连续标志的思路,一种是和上一个值比较,一种是使用序号做差值。
大数据面试
SQL
(八):求连续段的起始位置和结束位置
根据diff进行判断,如果差值为1代表连续赋值为0,否则代表不连续赋值为1,然后使用sum()进行累积计算,获得分组依据字段。3、根据重新分组标签进行分组,使用聚合函数min(),max()计算出每组的起始位置和结束位置。有一张表t2_id记录了id,id不重复,但是会存在间断,求出连续段的起始位置和结束位置。1、本题对重新分组的考察,此类题目真的比较常见的。1、lag()函数进行开窗计算与上一行的差值。2、使用累积求和方式对数据进行重新分组。3、得出连续分区结果。
SQL
求连续段的最后一个数及每段的个数
题目来源:https://www.nowcoder.com/discuss/480253?type=all&order=time&pos=&page=1&channel=1009&source_id=search_all 数据 create table test ( id int ); insert into test values (1), (2), (4), (5), (6), (9), (10), (11), (12) ;
sql
select seg
MS-SQL Server
34,875
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章