hibernate 数据库问题 时间日期加减法 我设计了一个数据库,其中一个表是仪器设备device(有仪器名,编号,型号等数据),另外一个表是这些仪器设备的详细使用记录(包括仪器每次使用的开始使用时间和结束使用的时间和一个指向仪器设备的键),注意的是:一个仪器要对应很多条使用记录。现在我想的是:通过在数据库中查询出每个仪器的总使用时间?(每个仪器只有一个结果)请问这个hql或者sql语句如何写。谢谢帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果使用oracle可以看看,oracle的日期函数能不能处理 我说一个思想:你的使用表中一定有id(主键)和仪器id吧,把使用表中的id和时间差(结束时间-开始时间)查出来作为一张副表和使用表并在一起(使用表.id=副表.id),按仪器id分组查出sum(结束时间-开始时间)。不知道写清楚了没,也不知道行不行,楼主你试试吧~~~~~~~ 还是跟你写出来吧~~使用表为A,开始时间为starttime,结束时间为endtime,仪器id为equid.select A.equid,B.sum(A.endtime-A.starttime) from A ,(select A.id,A.endtime-A.starttime from A ) B where A.id=B.id group by A.equid 试试吧~~应该可以~~我的时间是最小单位是天,小时或分钟应该都可以~~ 我用的是oracle~~最小单位是天~~可以相减~~~ 我没有oracle了, 用mysql就不能。 怎么让JPanel变化 java 高级的学习资料? 怎样得到一个String对象的地址值? 怎样判断String类型里是否有汉字? "is a"和"has a"的区别? 用IE直接打开Word文件的方法?? Class.forName疑问 请教老大们一个小问题 哪位给我看看下面这个程序 关于sun的java大家看怎么样? 如何用POI读取Excel中的文本框或者矩形框的内容 这句代码怎么理解 File f = new File("../");(java代码)
你的使用表中一定有id(主键)和仪器id吧,把使用表中的id和时间差(结束时间-开始时间)查出来作为一张副表和使用表并在一起(使用表.id=副表.id),按仪器id分组查出sum(结束时间-开始时间)。
不知道写清楚了没,也不知道行不行,楼主你试试吧~~~~~~~
使用表为A,开始时间为starttime,结束时间为endtime,仪器id为equid.
select A.equid,B.sum(A.endtime-A.starttime) from A ,(select A.id,A.endtime-A.starttime from A ) B where A.id=B.id group by A.equid
试试吧~~应该可以~~我的时间是最小单位是天,小时或分钟应该都可以~~