Mysql SQL统计5天内的行数,并添加到count_concat
我有一个表格,记录每次通过我的应用程序发送电子邮件时的记录,现在我正试图为应用程序开发一个带有highcharts的统计页面。我正在尝试对过去5天的条目数进行tbl_template_log计数,并将这些值添加到group_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
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