[问题] Linq 巢状查询

楼主: crazyexile (Silverblue)   2017-03-27 22:28:14
目前正在将手上的SQL查询改写成Linq
遇到巢状查询的问题一直转不出来
还望板上的大大指点一下迷津
[问题描述]
资料表中有TimeStamp, Value两个字段
需要将查询到的资料依照TimeStamp做累积
[SQL语法]
Select TimeStamp, (
Select SUM(Value)
From [Data] as E
Where E.TimeStamp >= D.TimeStamp
) as AccValue
From Data as D
Order by D.TimeStamp
作者: brian80122 (Cevi)   2017-03-28 04:09:00
括号内的d.timestamp是对的吗可能我功力不够 觉得这sql怪怪的 试试group吧
作者: awwseed (MOTO RIDER)   2017-03-28 16:07:00
作者: J002 (阿里山 我来了XD~)   2017-03-28 19:47:00
推awwseed大...
楼主: crazyexile (Silverblue)   2017-03-28 21:27:00
感谢awwseed大大指点!! 今天用两段式的方式试出来http://imgur.com/evi0Z7H 看起来似乎不是太好
作者: Litfal (Litfal)   2017-03-28 22:25:00
两种都是O(n^2),重视效率的话建议不要这样写不对阿,你写的只是group再sum而已,你只是要这样?
楼主: crazyexile (Silverblue)   2017-03-29 00:42:00
两种写法都可以达到我要的结果,不过我写的似乎比较差
作者: Litfal (Litfal)   2017-03-29 01:32:00
你的看起来只是把每个相同时间的sum起来再输出,awwseed大的才有把不同时间的累加起来阿
作者: awwseed (MOTO RIDER)   2017-03-29 11:24:00
http://imgur.com/SiumIBF 不知道改这样有没有比较好
楼主: crazyexile (Silverblue)   2017-03-29 21:00:00
->Litfal http://imgur.com/a/JYK3r 应该是有累加的->awwseed 第一种写法比较好理解!
作者: Litfal (Litfal)   2017-03-29 22:16:00
你那个是group sum,跟awwseed的不同时间累加不一样

Links booklink

Contact Us: admin [ a t ] ucptt.com