MySQL-选择日期范围中的行数

MySQL-选择日期范围中的行数,mysql,Mysql,我试图选择一系列存在于特定日期范围之间的行,并计算具有该日期的行数。但是,可能有一个日期没有条目,因此表中不存在该日期 该表包含包含以下数据的行: 2012-12-25 2012-12-25 2012-12-27 2012-12-27 2012-12-27 2012-12-28 根据这个问题,我创建了一个数字表来生成日期范围 我当前的查询在“SELECT*FROM wp\U paypal\U logs WHERE STR\U TO\U DATEwp\U paypal\U logs.creat

我试图选择一系列存在于特定日期范围之间的行,并计算具有该日期的行数。但是,可能有一个日期没有条目,因此表中不存在该日期

该表包含包含以下数据的行:

2012-12-25
2012-12-25
2012-12-27
2012-12-27
2012-12-27
2012-12-28
根据这个问题,我创建了一个数字表来生成日期范围

我当前的查询在“SELECT*FROM wp\U paypal\U logs WHERE STR\U TO\U DATEwp\U paypal\U logs.created”附近失败,“%Y-%m-%d”

不确定您是否需要合并部分,因为您是左联接的,如果您从左联接表中计算一个字段,该字段可能会起作用,因为它不会计算空值:

SELECT 
   x.ts AS timestamp,
   COUNT(wp_paypal_logs.created) AS cnt
FROM (
    SELECT 
       DATE_FORMAT(DATE_ADD('2012-12-25', INTERVAL n.id - 1 DAY), '%Y-%m-%d') AS ts
    FROM numbers n
    WHERE DATE_ADD('2012-12-25', INTERVAL n.id - 1 DAY) <= '2012-12-31'
) x
LEFT JOIN wp_paypal_logs 
   ON STR_TO_DATE(wp_paypal_logs.created, '%Y-%m-%d') = x.ts
GROUP BY x.ts

你发布的查询结果是什么?它没有成功-它失败了,正如上面我的问题中提到的那样。是的,我很确定这是我所希望的。我也觉得这里的结合很奇怪。谢谢你这么聪明!
2012-12-25      2
2012-12-26      0
2012-12-27      3
2012-12-28      1
SELECT 
   x.ts AS timestamp,
   COUNT(wp_paypal_logs.created) AS cnt
FROM (
    SELECT 
       DATE_FORMAT(DATE_ADD('2012-12-25', INTERVAL n.id - 1 DAY), '%Y-%m-%d') AS ts
    FROM numbers n
    WHERE DATE_ADD('2012-12-25', INTERVAL n.id - 1 DAY) <= '2012-12-31'
) x
LEFT JOIN wp_paypal_logs 
   ON STR_TO_DATE(wp_paypal_logs.created, '%Y-%m-%d') = x.ts
GROUP BY x.ts