ITPub博客

首页 > > > sql 分组后 对应的组行之间 相减 求大侠帮忙

sql 分组后 对应的组行之间 相减 求大侠帮忙

作者:karspb 时间:2019-09-12 11:03:26 0 删除 编辑

如图:

希望的是 分组后的 csValues 行 相减 

最后结果

 id  name  csID  csValues

1    张三     1     1

2   李四      2     -1

或者 分组后的对应的行 的最后一行 减去 开始第一行



对应的c#代

var dataList = from item in dt.AsEnumerable().AsParallel()
                               group item by item.Field<int>("dyn_vehid") into m
                               where m.Count() > 1
                               select new
                               {
                                   dyn_vehid = m.Key,
                                   v_no = m.First().Field<string>("v_no"),
                                   dyn_latitude = m.First().Field<decimal>("dyn_latitude"),
                                   Dyn_Longitude = m.First().Field<decimal>("Dyn_Longitude"),
                                   C_EnterpriseName = m.First().Field<string>("C_EnterpriseName"),
                                   dyn_Time = "".TimeDiffMinute(m.First().Field<DateTime>("dyn_Time").ToString(), m.Last().Field<DateTime>("dyn_Time").ToString())
                               };

求改成sql ? 谢谢 

 

sql 测试数据语句 

USE csDemo
select * from  csDemo

CREATE table csTb(
id int  ,
name varchar(20),
csID int ,
csValues int
)
insert into csTb values(1,'张三',1,1)

insert into csTb values(2,'张三',1,2)

insert into csTb values(3,'李四',2,3)
insert into csTb values(4,'李四',2,4)
insert into csTb values(5,'李四',2,6)

insert into csTb values(6,'王无',3,7)


SELECT * FROM  CsTB where csID IN(
select csID from csTB group by csID
HAVING COUNT(*)>1
)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2001/viewspace-3123768/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: apache 配置
请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    222
  • 访问量
    16820