一个SQL的时间计算问题 - MS-SQL Server / 疑难问题
假如有表如下:
字段1 字段2
a 2010-05-13 08:59:51.73
b 2010-05-13 08:62:51.73
c 2010-05-13 08:60:51.73
现在我想建一个视图,要求如下:
选按字段2(时间列)进行从小到大排序。然后计算字段2(时间列),计算方式是,第二行减第一行,将结果写在第一行后面一列中,最后一个行因为没有计算字段了, 所以留空。最终结果为:
字段1 字段2 字段(秒)3
a 2010-05-13 08:59:51.73 1
c 2010-05-13 08:60:51.73 2
b 2010-05-13 08:62:51.73
请问这个视图怎么写,谢谢。
08:62:51 这个时间 很牛
写错了,没太注意,我只是举了个例子,只要实现方式就行了。
看看行不行
SQL code:
select t.字段1 ,t.字段2,datediff(m,t.字段2,p.字段2) 字段(秒)3
(select m.*,rn=count(n.*) from tb m left join tb n on m.字段2>=n.字段2 group by m.字段1,m.字段2) t
join (select m.*,rn=count(n.*) from tb m left join tb n on m.字段2>=n.字段2 group by m.字段1,m.字段2) p on t.rn=p.rn - 1
SQL code:
declare @t table(col1 varchar(10),col2 datetime )
insert @t select 'a', '2010-05-13 08:49:51.7
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
原SQL语句SQL code:
SELECT t6.FName '操作工',t1.FDate '日期',t5.FName '制单人',t3.FName '设备',t4.FName '班制',
t7.FBillNo '工艺指令单号',t8.FName '岗位',t2. ......