Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL统计5天内的行数,并添加到count_concat_Mysql - Fatal编程技术网

Mysql SQL统计5天内的行数,并添加到count_concat

Mysql SQL统计5天内的行数,并添加到count_concat,mysql,Mysql,我有一个表格,记录每次通过我的应用程序发送电子邮件时的记录,现在我正试图为应用程序开发一个带有highcharts的统计页面。我正在尝试对过去5天的条目数进行tbl_template_log计数,并将这些值添加到group_concat中,以便将结果输入到图表中 我的问题是: SELECT group_concat(count(tbl_template_log.templog_id)) as 'stats_data' FROM tbl_template_log WHE

我有一个表格,记录每次通过我的应用程序发送电子邮件时的记录,现在我正试图为应用程序开发一个带有highcharts的统计页面。我正在尝试对过去5天的条目数进行tbl_template_log计数,并将这些值添加到group_concat中,以便将结果输入到图表中

我的问题是:

SELECT group_concat(count(tbl_template_log.templog_id)) as 'stats_data' FROM tbl_template_log
              WHERE DATE(tbl_template_log.send_date) < DATE(NOW())
              AND DATE(tbl_template_log.send_date) > DATE(NOW()) - INTERVAL 6 DAY
我假设这是指组concat和count的组合
是否有任何方法可以构造一个查询,该查询既可以计算每天的行数,又可以将这些值添加到group_concat…或以其他方式执行此操作…?

如果您试图对过去5天的条目数进行tbl_template_log计数,那么为什么不使用group by使用如下方法。如果将日期信息保存为datetime,则使用datetbl_模板_log.send_date作为send_date,最后按send_date分组

试试看

我想你需要这个:

SELECT 
GROUP_CONCAT
(tbl_template_log.templog_id) AS stats_data 
FROM 
(
SELECT COUNT(stats_data)
FROM tbl_template_log
WHERE DATE(tbl_template_log.send_date) < DATE(NOW())
AND DATE(tbl_template_log.send_date) > DATE(NOW()) - INTERVAL 6 DAY
)test

如果您正在计算数据,则只需删除group_concat并添加一个group by tbl_template_log.send_date。在执行group by.Hi thx时,最好选择相同的列作为您的答案,但此查询的结果每行仅为1,因此我每天都有大量的1,我需要将所有这些1添加到一个数字中。使用group by进行计数时,每天不应显示大量的1,请确保按datetbl_template_log.send_date分组,因为您要将数据保存为datetime。下面是此行为的演示,为日期列添加不同的别名
SELECT 
tbl_template_log.send_date,
count(tbl_template_log.templog_id) as `stats_data` 
FROM tbl_template_log
WHERE 
DATE(tbl_template_log.send_date) < DATE(NOW())
AND 
DATE(tbl_template_log.send_date) > DATE(NOW()) - INTERVAL 6 DAY
group by tbl_template_log.send_date
SELECT 
GROUP_CONCAT
(tbl_template_log.templog_id) AS stats_data 
FROM 
(
SELECT COUNT(stats_data)
FROM tbl_template_log
WHERE DATE(tbl_template_log.send_date) < DATE(NOW())
AND DATE(tbl_template_log.send_date) > DATE(NOW()) - INTERVAL 6 DAY
)test