gpt4 book ai didi

mysql - SQL查询逻辑,将行的字段添加在一起

转载 作者:行者123 更新时间:2023-11-29 06:15:06 25 4
gpt4 key购买 nike

我正在开发一个网络应用程序,需要对一个字段的记录数组进行总计。

要进一步解释,请查看包含的图片:

enter image description here

此图描绘了我使用以下查询的输出:

SELECT * FROM logbook WHERE dayNight = 'D'

现在我需要做的是对所有这些记录的 hours 字段中的所有值进行总计。

完成后,输出应如下所示(仅作为示例):

6:05:21

代表 HH:MM:SS。

但是我想用十进制值来表示它的小时和分钟...所以如果我有 6 小时 40 分 2 秒,它会说 jsut 6:40。这将是以下结构 HH:MM。

所以我不知道该怎么做 - 但感谢您的所有帮助!

最佳答案

你可以通过一大堆令人讨厌的 Actor 来完成大部分工作:

select cast(sum(cast(hours as time)) as time)
from logbook
where dayNight = 'D'

这会给你一个时间值的结果。然后混入time_format获得所需的精度:

select time_format(cast(sum(cast(hours as time)) as time), '%H:%i')
from logbook
where dayNight = 'D'

您应该将 hours 列从 varchar 更改为 time .

你可以这样做:

select time_format(sum(cast(hours as time)), '%H:%i')
from logbook
where dayNight = 'D'

如果你想避免额外的类型转换;但是,保留外部转换可能会使以后的调试更容易,因为 sum(cast(hours as time) 会生成类似于 234211 的 23:42:11。


将您的列转换为合理的时间列后,您就可以取消所有转换:

select time_format(sum(hours), '%H:%i')
from logbook
where dayNight = 'D'

或者对所有内容进行求和,无论dayNight:

select time_format(sum(hours), '%H:%i')
from logbook

关于mysql - SQL查询逻辑,将行的字段添加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7055067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com