gpt4 book ai didi

MYSQL 查询 - 按月获取总计

转载 作者:IT王子 更新时间:2023-10-29 00:30:45 26 4
gpt4 key购买 nike

http://sqlfiddle.com/#!2/6a6b1

上面给出的方案..我想要做的就是将结果作为销售额/月的总和...用户将输入开始日期和结束日期,我可以生成整个月(在 PHP 中)和这些日期的年份。例如,如果我想知道 12 个月的“销售”总数,我知道我可以运行 12 个带有开始和结束日期的单独查询,但我只想运行一个查询,结果如下所示:

Month     numofsale
January - 2
Feb-1
March - 23
Apr - 10

等等……

或者只是一个没有月份的销售列表,然后我可以将它与 PHP 中生成的月份数组配对......任何想法......

编辑/模式和从 sqlfiddle.com 粘贴的数据:

CREATE TABLE IF NOT EXISTS `lead_activity2` (
`lead_activity_id` int(11) NOT NULL AUTO_INCREMENT,
`sp_id` int(11) NOT NULL,
`act_date` datetime NOT NULL,
`act_name` varchar(255) NOT NULL,
PRIMARY KEY (`lead_activity_id`),
KEY `act_date` (`act_date`),
KEY `act_name` (`act_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;

INSERT INTO `lead_activity2` (`lead_activity_id`, `sp_id`, `act_date`, `act_name`) VALUES
(1, 5, '2012-10-16 16:05:29', 'sale'),
(2, 5, '2012-10-16 16:05:29', 'search'),
(3, 5, '2012-10-16 16:05:29', 'sale'),
(4, 5, '2012-10-17 16:05:29', 'DNC'),
(5, 5, '2012-10-17 16:05:29', 'sale'),
(6, 5, '2012-09-16 16:05:30', 'SCB'),
(7, 5, '2012-09-16 16:05:30', 'sale'),
(8, 5, '2012-08-16 16:05:30', 'sale'),
(9, 5,'2012-08-16 16:05:30', 'sale'),
(10, 5, '2012-07-16 16:05:30', 'sale');

最佳答案

SELECT DATE_FORMAT(date, "%m-%Y") AS Month, SUM(numofsale)
FROM <table_name>
WHERE <where-cond>
GROUP BY DATE_FORMAT(date, "%m-%Y")

在你的 fiddle 演示中检查以下它对我有用(删除 where 子句进行测试)

SELECT DATE_FORMAT(act_date, "%m-%Y") AS Month, COUNT(*)
FROM lead_activity2
WHERE <where-cond-here> AND act_name='sale'
GROUP BY DATE_FORMAT(act_date, "%m-%Y")

返回结果如下

MONTH   COUNT(*)
07-2012 1
08-2012 2
09-2012 1
10-2012 3

关于MYSQL 查询 - 按月获取总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13152796/

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