gpt4 book ai didi

MYSQL - 总间隔日期

转载 作者:可可西里 更新时间:2023-11-01 08:47:00 26 4
gpt4 key购买 nike

我遇到了以下问题:

我想总结每个名字的小时数,给出 STARTEND 事件之间的总间隔,如果我可以从每条记录中减去开头的末尾,那就很简单了,例如,玛丽从第 13 开始,直到 15 岁,然后在 14 岁和 16 岁时开始了另一项事件,我希望结果是 3(她用了 3他们执行这两项事件的时间)

例如:

Name    |    START               |    END                 |
-----------------------------------------------------------
KATE | 2014-01-01 13:00:00 | 2014-01-01 14:00:00 |
MARY | 2014-01-01 13:00:00 | 2014-01-01 15:00:00 |
TOM | 2014-01-01 13:00:00 | 2014-01-01 16:00:00 |
KATE | 2014-01-01 12:00:00 | 2014-01-02 04:00:00 |
MARY | 2014-01-01 14:00:00 | 2014-01-01 16:00:00 |
TOM | 2014-01-01 12:00:00 | 2014-01-01 18:00:00 |
TOM | 2014-01-01 22:00:00 | 2014-01-02 02:00:00 |

结果:

KATE    15 hours
MARY 3 hours
TOM 9 hours

最佳答案

您是否尝试过分组依据然后聚合函数?

SELECT Name, SUM(UNIX_TIMESTAMP(End) - UNIX_TIMESTAMP(Start)) FROM myTable
GROUP BY Name

这将返回您所拥有的间隔的累计秒数。然后您可以将秒数更改为小时数以进行显示。

此外,我强烈建议按主键或其他方式而不是字符串名称进行分组,但我知道这可能只是为了简化问题。

关于MYSQL - 总间隔日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26498972/

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