Mysql 每天合并表记录以创建';上周';页
如果以前有人问过我这个问题,我道歉。。我对开发非常陌生,虽然我已经尝试了很多次搜索,但我真的不确定要寻找什么 无论如何,我有一个统计每天输入的记录的表。看起来是这样的(每条记录都由一个字母表示)(假设今天的日期是2013年1月27日): 如果记录在当天已经存在,则会在表中检查每个新日志,并更新计数,否则会创建一个新记录 对于打印“今天”添加的记录的页面,我有MySQL查询Mysql 每天合并表记录以创建';上周';页,mysql,date,count,Mysql,Date,Count,如果以前有人问过我这个问题,我道歉。。我对开发非常陌生,虽然我已经尝试了很多次搜索,但我真的不确定要寻找什么 无论如何,我有一个统计每天输入的记录的表。看起来是这样的(每条记录都由一个字母表示)(假设今天的日期是2013年1月27日): 如果记录在当天已经存在,则会在表中检查每个新日志,并更新计数,否则会创建一个新记录 对于打印“今天”添加的记录的页面,我有MySQL查询 SELECT * FROM `table` ORDER BY `date` DESC, `count` DESC LIMIT
SELECT * FROM `table` ORDER BY `date` DESC, `count` DESC LIMIT 1000
并使用php“if”语句仅打印表中日期('Y-m-d')=date
的记录。因此,只打印当天输入的记录和相应的计数。
-上表将产生以下结果:
1. B 7
2. A 4
我想要的是打印上周输入的记录的页面。我知道我可以使用DATE\u SUB(now(),INTERVAL 1 WEEK)和now()
,来打印上周的记录,但我需要复制记录以合并并将计数相加。。因此,该表的结果如下所示:
1. B 10
2. C 8
3. A 4
我将如何合并这些重复记录并按计数排序记录列表?这是获取“上周”记录计数的最佳方法,还是有其他更好的表结构
如果这是一个愚蠢的问题,或者我的解释冗长,我再次表示歉意,但如果只是一些简单的提示,我会非常感激 使用将允许您将相关记录分组在一起
SELECT `record`
, SUM(`count`) AS `count`
FROM `table`
WHERE `date` > `date` - INTERVAL 1 WEEK
GROUP BY `record`
ORDER BY `count` DESC
LIMIT 1000
试试这个
SELECT `record`, SUM(`count`) AS `count`
FROM `table`
WHERE `date` > DATE_SUB(CURDATE(),INTERVAL 1 WEEK)
GROUP BY `record`
ORDER BY `count` DESC
如果需要,您可以
限制1000个
分组结果集非常感谢!非常感谢:)
SELECT `record`, SUM(`count`) AS `count`
FROM `table`
WHERE `date` > DATE_SUB(CURDATE(),INTERVAL 1 WEEK)
GROUP BY `record`
ORDER BY `count` DESC