gpt4 book ai didi

MYSQL - 如何统计每月出现的次数

转载 作者:行者123 更新时间:2023-11-29 10:42:29 26 4
gpt4 key购买 nike

我有一个包含 varchar 列和 datetime 列的表,我想从中获取一些计数:

CREATE TABLE `appointment` (
`appointmentId` int(10) NOT NULL AUTO_INCREMENT,
`cid` int(10) NOT NULL,
`title` varchar(255) NOT NULL,
`description` text NOT NULL,
`location` text NOT NULL,
`contact` text NOT NULL,
`start` datetime NOT NULL,
PRIMARY KEY (`appointmentId`));

一些值:

INSERT INTO `appointment` (`cid`, `title`, `description`, `location`, `contact`, `start`) 
VALUES
('1', 'text1', ' ', ' ', ' ', '2017-07-21 16:00'),
('2', 'text1', ' ', ' ', ' ', '2017-08-21 16:00'),
('1', 'text1', ' ', ' ', ' ', '2017-09-21 16:00'),
('1', 'text1', ' ', ' ', ' ', '2017-09-21 16:00'),
('3', 'text2', ' ', ' ', ' ', '2017-07-21 16:00'),
('1', 'text3', ' ', ' ', ' ', '2017-07-21 16:00'),
('1', 'text4', ' ', ' ', ' ', '2017-07-21 16:00'),
('5', 'text5', ' ', ' ', ' ', '2017-07-21 16:00'),
('1', 'text1', ' ', ' ', ' ', '2017-07-21 16:00'),
('1', 'text1', ' ', ' ', ' ', '2017-07-21 16:00'),
('1', 'text3', ' ', ' ', ' ', '2017-07-21 16:00');

我想要完成的是每月统计“标题”的出现次数。像这样的事情:

Month       | title | count 
---------------------------
July | text1 | 3
August | text1 | 1
September | text1 | 2
July | text2 | 1
etc...

我已经做到了

SELECT  MONTHNAME(start) AS 'MONTH',
title AS 'TITLE',
count(title) AS 'COUNT'
FROM appointment
GROUP BY TITLE

但是,这是将所有 text1 分组为出现第一个月的总计数。因此,对于上面的示例,它显示:“七月 |文本1 | 6'

我已经尝试了该查询的几种变体,但我显然遗漏了一些东西。

谁能解释一下:a) 为什么要将所有这些汇总到一个月内?b) 如何让查询产生我想要的结果?

最佳答案

不确定您是否尝试过此操作,但您需要按月分组,例如:

SELECT  MONTH(start) AS MONTH,
title AS TITLE,
count(title) AS COUNT
FROM appointment
GROUP BY title,MONTH(start);

另外,为什么在 AS ... 之后需要引号?

关于MYSQL - 如何统计每月出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45218774/

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