mysql如何总结列
问题描述:
我要总结的列late_am_in
,late_am_out
,late_pm_in
,late_pm_out
并将结果total_hours 列时间。mysql如何总结列
SEC_TO_TIME(SUM(TIME_TO_SEC(STR_TO_DATE(late_pm_in, '%H:%I') - TIME_TO_SEC(STR_TO_DATE
(late_pm_out, '%H:%I')))) AS total_hours
我列的数据类型是VARCHAR。
谢谢!
答
试试这个它的工作原理。
SEC_TO_TIME((TIME_TO_SEC(STR_TO_DATE(late_am_out, '%H:%i')) - TIME_TO_SEC(STR_TO_DATE(late_am_in, '%H:%i'))) + (TIME_TO_SEC(STR_TO_DATE(late_pm_out, '%H:%i')) - TIME_TO_SEC(STR_TO_DATE(late_pm_in, '%H:%i')))) AS total_hours
继承人如何更新表计算总小时
Update Test SET total_hours = SEC_TO_TIME((TIME_TO_SEC(STR_TO_DATE(late_am_out, '%H:%i')) - TIME_TO_SEC(STR_TO_DATE(late_am_in, '%H:%i'))) + (TIME_TO_SEC(STR_TO_DATE(late_pm_out, '%H:%i')) - TIME_TO_SEC(STR_TO_DATE(late_pm_in, '%H:%i'))))
继承人插入值
INSERT INTO Test
(`id`, `late_am_in`, `late_am_out`, `late_pm_in`, `late_pm_out`, `total_hours`)
VALUES
(7, '14:15', '16:15', '18:15', '19:19', SEC_TO_TIME((TIME_TO_SEC(STR_TO_DATE(late_am_out, '%H:%i')) - TIME_TO_SEC(STR_TO_DATE(late_am_in, '%H:%i'))) + (TIME_TO_SEC(STR_TO_DATE(late_pm_out, '%H:%i')) - TIME_TO_SEC(STR_TO_DATE(late_pm_in, '%H:%i')))))
;
可以共享所需的输出时如何计算总小时这里? – VeeK
减法不应该是另一种方式吗?从中减去得到他们的时间量。 – Barmar
嗨,我只想通过添加列来获得总小时数:late_am_in,late_am_out,late_pm_in,late_pm_out。有可能在MySQL? –