gpt4 book ai didi

php - 选择前几个月的数据 - MySQL

转载 作者:行者123 更新时间:2023-11-29 07:54:43 24 4
gpt4 key购买 nike

我想生成这样的图表。

enter image description here

我需要这样的数据来生成如上所示的图表。

June - Art 2
June - Commerce 4
June - Maths 4
June - Science 5

May - Art 2
May - Commerce 3
May - Maths 4
May - Science 4

我尝试了这个查询

SELECT DISTINCT (
MONTHNAME( user_reg )
), u.sec_name, u.count
FROM (

SELECT COUNT( user_section ) AS count, sections.sec_name, users.user_reg
FROM users
LEFT JOIN sections ON users.user_section = sections.sec_id
GROUP BY sections.sec_name
) AS u

结果是

enter image description here

用户表的表结构

enter image description here

最佳答案

只需使用条件聚合:

SELECT MONTHNAME(u.user_reg), s.sec_name, COUNT(*)
FROM users u JOIN
sections s
ON u.user_section = s.sec_id
GROUP BY MONTHNAME(u.user_reg), s.sec_name
ORDER BY MIN(u.user_reg), s.sec_name;

一些注意事项:

  • 您似乎不需要左连接。如果某些内容不匹配,您不希望它被计算在内。
  • 这引入了表别名作为表名称的缩写,使查询更易于读写。
  • 它有一个明确的 ORDER BY,因此结果在图表中的顺序是合理的。

关于php - 选择前几个月的数据 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25464124/

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