Database 板


LINE

作者: Severine (赛非茵) 看板: Database 标题: Re: [SQL ] 算出每笔日期间隔 时间: Mon Jul 14 15:48:53 2014 ============================================================= 文章修改 请pagedown到最下面 由於上篇是为了映证作法 所以找了范例资料来做~ 後来实际上因为原篇推文提到的加上序号的做法 其实在我的资料不可行 所以试着把每笔资料改加上流水号的方法 SELECT row_number() OVER(ORDER BY MyDay ) AS ROWID, T1.MyDay FROM Sheet as T1 WHERE class='1' ORDER BY MyDay 这样会捞出 ROWID MyDay 1 2014/01/01 2 2014/01/04 3 2014/02/06 4 2014/02/12 现在我是希望能够针对 ROWID去做前後笔删除 请问该如何做呢? 谢谢~ 我有尝试使用 LEFT JOIN Sheet AS T2 ON T1.ROWID = T2.ROWID +1 但是这样当然不成功,因为原本T2并没有ROWID的部分.想请问如何改善~? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.138.48.211
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1405324136.A.DDA.html ※ 编辑: Severine (1.167.80.218), 07/14/2014 18:51:00
1F:→ Severine:现在觉得真是当初资料表没有设计好 把东西杂在一起才这麽 07/14 19:14
2F:→ Severine:麻烦,要用where捞出来.. 07/14 19:14
3F:→ Severine:然後导致IDENTITY会不连续 就很难处理.. :( 07/14 19:15
CREATE TABLE #Dates( MyId INT IDENTITY (1,1), TheDate Datetime) INSERT INTO #dates(TheDate) VALUES('1 Sep 2007 10:00') INSERT INTO #dates(TheDate) VALUES('2 Sep 2007 12:00') INSERT INTO #dates(TheDate) VALUES('3 Sep 2007 17:00') INSERT INTO #dates(TheDate) VALUES('8 Sep 2007 02:00') INSERT INTO #dates(TheDate) VALUES('10 Sep 2007 11:00') INSERT INTO #dates(TheDate) VALUES('13 Sep 2007 13:00') SELECT row_number() OVER(ORDER BY TheDate) as SN , TheDate, ( SELECT f.TheDate FROM #dates f WHERE F.MyID=d.MyID-1 ) as ODay, DATEDIFF(day, (select f.TheDate FROM #dates f WHERE F.MyID=d.MyID-1) ,TheDate) Diff FROM #dates d 尝试这样写出来 会变成 流水号 新日期 前日期 差异 不过还是不知道要怎样把Where变成用流水号row_number()去运算.. ※ 编辑: Severine (1.167.80.218), 07/14/2014 19:36:27 这篇是目前做到的解法,简单说是用view来达成 1.首先先create view,并加上row_number as SN 2.用LEFT JOIN Sheet AS T2 ON T1.SN = T2.SN +1 大致上是这样 结束...谢谢大家 >< =========================================================== 修改後如下 虽然做出来了但是和想像中差太多.. 我希望在下面的表格中,where class = 1,然後算出这两笔差距的时间 原表格 修改一下 多一个栏位 ROW_Number MyDay Class 1 2014/01/01 1 2 2014/01/02 2 3 2014/01/03 1 4 2014/01/04 3 在RowID的方法去做DateDiff, 会每笔Row都相减 变成这样 ROW_Number MyDay Class DateDiff 1 2014/01/01 1 1 (上下两笔差距一天) 2 2014/01/02 2 1 3 2014/01/03 1 1 4 2014/01/04 3 1 所以目前朝向使用暂存资料表,筛选Class=1以後,加入流水号,再将暂存资料表读出来. 并做DateDiff.不然也想不到甚麽好主意了 >< 想不到看似简单的功能却这麽复杂.. ※ 编辑: Severine (61.219.164.156), 07/17/2014 18:30:20







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP