Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 每天合并表记录以创建';上周';页_Mysql_Date_Count - Fatal编程技术网

Mysql 每天合并表记录以创建';上周';页

Mysql 每天合并表记录以创建';上周';页,mysql,date,count,Mysql,Date,Count,如果以前有人问过我这个问题,我道歉。。我对开发非常陌生,虽然我已经尝试了很多次搜索,但我真的不确定要寻找什么 无论如何,我有一个统计每天输入的记录的表。看起来是这样的(每条记录都由一个字母表示)(假设今天的日期是2013年1月27日): 如果记录在当天已经存在,则会在表中检查每个新日志,并更新计数,否则会创建一个新记录 对于打印“今天”添加的记录的页面,我有MySQL查询 SELECT * FROM `table` ORDER BY `date` DESC, `count` DESC LIMIT

如果以前有人问过我这个问题,我道歉。。我对开发非常陌生,虽然我已经尝试了很多次搜索,但我真的不确定要寻找什么

无论如何,我有一个统计每天输入的记录的表。看起来是这样的(每条记录都由一个字母表示)(假设今天的日期是2013年1月27日):

如果记录在当天已经存在,则会在表中检查每个新日志,并更新计数,否则会创建一个新记录

对于打印“今天”添加的记录的页面,我有MySQL查询

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