【发布时间】:2018-02-12 12:05:47
【问题描述】:
我有带有 ID 的表 T1:
ID
1
2
我有 ID 和 GROUP_TRACKING 时间的表 T2,因为记录可以在特定组中多次。 GROUP_TRACKING 时间是 ALN 类型 (STRING),这不能更改,但它始终包含 hh:mm:ss 中的持续时间值,其中 hh 列始终至少有 2 个字符,但当然它可以包含更多字符,以防记录已经是一些团体很长一段时间:
ID GROUP GROUP_TRACKING
1 GROUP1 05:55:05
1 GROUP1 10:10:00
1 GROUP2 111:51:00
1 GROUP2 01:01:00
所以我需要从 T1 表中创建 SELECT 子句,并加入 T2 表以跟踪每个组(G1 和 G2)在该特定方面花费了多少时间组。
所以最终的结果应该是这样的:
ID GROUP1 GROUP2
1 16:05:05 112:52:00
2 null null
如何以小时和分钟计算这些持续时间的SELECT SUM?
谢谢
【问题讨论】:
-
....人们为什么要这样对自己?为什么不让这该死的事情以秒为单位,让查询这些东西变得更容易呢?它不是 SARGable(b/c > 2 位数),占用了两倍的房间。在任何情况下,您都必须在分隔符上拆分字符串,手动将其转换为秒,求和,然后将其转换回各个部分(因为您可能不想要 60 多秒,而是 1 分钟...)。然后转动它。顺便说一句,你必须提前知道列,或者使用一些讨厌的动态 sql。
-
@Clockwork-Muse 你能帮我处理这个 SQL 语句吗?不幸的是,这是系统自动填充的开箱即用列,我无法更改其定义。提前谢谢你
-
@Clockwork-Muse 你能写给我这个繁重的 SQL 查询吗?我什至不知道如何开始
-
....我给了你一个你必须要做的步骤列表。你被哪一个卡住了?您是否无法找到有关如何执行某些部分的信息?
-
@Clockwork-Muse 嗨,我遇到了拆分和转换问题。我现在不知道如何开始。我也不确定如何转动它。提前谢谢你
标签: string select db2 duration