gpt4 book ai didi

mysql - 如何在mysql中使用多个group by条件

转载 作者:行者123 更新时间:2023-12-01 00:39:33 26 4
gpt4 key购买 nike

我有一个 customer_master 表。在该表中,我有两列称为 customer_id 和 date_of_birth。
我想要的是按年龄段统计客户群。像这样的东西。

enter image description here

到目前为止,这是我唯一可以尝试的查询。

选择 COUNT(customer_id) AS count FROM customer_masterWHERE (DATEDIFF( CURDATE(),date_of_birth)/365.25)<40
这个你能帮我吗。谢谢。


在大家的帮助下,我找到了比你们所有人都完美的答案。

SELECT CASE

WHEN (DATEDIFF( CURDATE(),STR_TO_DATE(date_of_birth, '%Y-%m-%d')) / 365) <= 20 THEN 'Below 20'
WHEN(DATEDIFF( CURDATE(),STR_TO_DATE(date_of_birth, '%Y-%m-%d')) / 365) <= 30 THEN 'Below 30'
WHEN (DATEDIFF( CURDATE(),STR_TO_DATE(date_of_birth, '%Y-%m-%d')) / 365) <= 40 THEN 'Below 40'
WHEN (DATEDIFF( CURDATE(),STR_TO_DATE(date_of_birth, '%Y-%m-%d')) / 365) <= 50 THEN 'Below 50'
ELSE 'Over 50'
END as age_group,
COUNT(customer_id)

FROM customer_master
GROUP BY age_group;

最佳答案

您可以使用 CASE运营商。

SELECT CASE
WHEN (DATEDIFF( CURDATE(),date_of_birth) / 365.25) < 40 THEN 'Below 40'
ELSE 'Over 40'
END as age_group,
COUNT(customer_id)
FROM customer_master
GROUP BY age_group;

对不起,格式不好,这是我的第一个答案

关于mysql - 如何在mysql中使用多个group by条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698558/

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