mysql - 在分组中显示空日期?

标签 mysql date count group-by

我目前正在使用 MySQL 来计算过去一周按日期创建的行数。 这是我的表格的示例:
My Table
使用以下 SQL 查询(并考虑它是 2013 年 4 月 20 日)

SELECT DATE(Date) AS Date,
       COUNT(id) AS Count
FROM notes
WHERE UNIX_TIMESTAMP(Date) + 604800 >= UNIX_TIMESTAMP()
GROUP BY DAY(Date)
ORDER BY Date ASC

我得到以下结果。
Output
但是,由于我经历了过去的一周,我还想要没有这样的行的日子:

Desired Output

我将如何完成这个?

最佳答案

我认为最简单的方法是

select a.*, b.`Count`
   FROM 
   (
   select date(now()) as dt 
   union all
   select date(now()-interval 1 day)
   -- then the same for - 2 day, -3 , etc
   )a
   LEFT JOIN 
   (
     --your query
   )b ON (a.dt = b.`date`)

关于mysql - 在分组中显示空日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112339/

相关文章:

php - session ID 刷新后 Codeigniter 用户数据丢失 [CodeIgniter 3.0]

javascript - moment.js 解析语言和时区的日期

java - 将日期对象与 Java 中的时间戳进行比较

mysql - 在 MYSQL 中将 YYYY-mm-dd 转换为 yyyymmdd

sql-server - 在使用游标sql处理之前计算行数

PHP |如何从 url 字符串中删除特定字符串

mysql - 我的网站上没有用户,但 MySQL 数据库连接数始终为 10+

mysql - Doctrine2 不会在方案更新时转义表名

html - 在 Rails 中获取帖子的点赞数

batch-file - 批处理文件: store lines of command's output without writing to a file?