gpt4 book ai didi

php - 为特定用户选择特定月份和年份的小时总和

转载 作者:行者123 更新时间:2023-11-30 22:07:57 26 4
gpt4 key购买 nike

你好,我正在尝试实现一个查询,我可以从带有小时和日期的数据库中选择特定年份的特定部门的所有小时总和。

表格示例如下:

enter image description here

到目前为止,我生成的查询如下:

    SELECT t.clientid, t.date, t.department, t.time,
(SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `time` ) ) ) FROM time_management WHERE YEAR(t.date)='$year' AND MONTH(t.date)= 12 GROUP BY t.clientid ) as january,
(SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `time` ) ) ) FROM time_management WHERE YEAR(t.date)='$year' AND MONTH(t.date)= 2 GROUP BY t.clientid ) as february
FROM time_management t GROUP by t.clientid

我想做的是选择 2016 年 1 月的所有小时数总和。在当前状态下,我正在获取所有客户的所有小时数总和的结果,我想通过以下方式为客户获取结果客户:

当前结果是:

enter image description here

所以我正在寻找的是如何获得按 clientid 分组的时间总和,并获得 2 个结果,而不仅仅是一个。两个客户端 ID 的总和。为每个人独立求和?

任何帮助将不胜感激。谢谢!

最佳答案

你应该能够在没有子查询的情况下做到这一点 -

SELECT `date`, `department`, SUM(`time`)
FROM `time_management`
WHERE YEAR(`date`)='$year' AND MONTH(`date`)= 12
GROUP BY `client_id`

我建议您以秒为单位将时间存储在数据库中 - 唯一需要显示为小时和分钟的时间是在格式化为在客户端屏幕上显示时。如果您确实将其存储为字符串,则必须将所有转换内容放回原处。

进一步观察,我还建议将您的年份和月份存储为单独的列,或者存储为基于模式的整数:也许是 201612,或者类似的东西。这也将清理您的 where 子句。

关于php - 为特定用户选择特定月份和年份的小时总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41048601/

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