首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL :按日期分组(小时、日、月-年)

MySQL :按日期分组(小时、日、月-年)
EN

Stack Overflow用户
提问于 2016-11-30 14:04:11
回答 3查看 6.4K关注 0票数 2

我有这种形式的桌子

我想计数类型= "non_repondu“的插入,并将结果按3个标准分组。

1-客户id 2-队列id 和 3-日期时间:按小时、日、月和年分列

到目前为止,我已经这样做了:

代码语言:javascript
复制
SELECT `client_id`,`queue_id`,`datetime`,COUNT(`type`)
AS nombre_appels_repondus
FROM `appels`
where `type`= "non_repondu" 
group by `appels`.`client_id`,`appels`.`queue_id`,`appels`.`datetime

但是就像这样,我刚刚被完整的datetime列过滤了,它分别给出了每个唯一日期时间行的表,我如何按小时、日、月和年获得结果?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-30 14:18:13

在group子句中使用甲酸()。希望它能解决你的问题

代码语言:javascript
复制
SELECT
    `client_id`,
    `queue_id`,
    `datetime`,
    COUNT(`type`) AS nombre_appels_repondus
FROM
    `appels`
WHERE
    `type` = "non_repondu"
GROUP BY
    `appels`.`client_id`,
    `appels`.`queue_id`,
    DATE_FORMAT(
        `appels`.`datetime`,'%Y-%m-%d %H');

如果要在所选列列表中添加日、月、年和小时,请试一试

代码语言:javascript
复制
SELECT
    `client_id`,
    `queue_id`,
    `datetime`,
    DATE_FORMAT(`appels`.`datetime`, '%Y-%m-%d') AS DAY,
    DATE_FORMAT(`appels`.`datetime`, '%Y-%m') AS MONTH,
    DATE_FORMAT(`appels`.`datetime`, '%Y') AS YEAR,
    DATE_FORMAT(`appels`.`datetime`, '%H') AS HOUR,
    COUNT(`type`) AS nombre_appels_repondus
FROM
    `appels`
WHERE
    `type` = "non_repondu"
GROUP BY
    `appels`.`client_id`,
    `appels`.`queue_id`,
    DATE_FORMAT(
        `appels`.`datetime`,
        '%Y-%m-%d %H'
    );
票数 4
EN

Stack Overflow用户

发布于 2016-11-30 14:08:14

你需要通过陈述来更准确地对待你的小组

代码语言:javascript
复制
SELECT `client_id`,`queue_id`,`datetime`,COUNT(`type`)
AS nombre_appels_repondus
FROM `appels`
WHERE `type`='non_repondu'
GROUP BY `appels`.`client_id`,
    `appels`.`queue_id`,
    YEAR(`appels`.`datetime`) ,
    MONTH(`appels`.`datetime`),
    DAY(`appels`.`datetime`),
    HOUR(`appels`.`datetime`)
票数 0
EN

Stack Overflow用户

发布于 2020-01-06 15:41:40

代码语言:javascript
复制
SELECT 
YEAR(datetime), MONTH(datetime), DAY(datetime), HOUR(datetime),
client_id, queue_id, COUNT(type) AS nombre_appels_repondus
FROM appels
WHERE type = "non_repondu"
GROUP BY YEAR(datetime), MONTH(datetime), DAY(datetime), HOUR(datetime), 
client_id, queue_id;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40890399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档