php - 打印表中不存在的行?

标签 php mysql group-by

我有一个对按日期分组的行求和的查询。基本上,它统计一天有多少成员(member)申请,并逐日打印结果。当然,如果一天没有应用程序,则不会显示该行(例如第 15 和 17 号以下没有应用程序......

Date         |    Applications
-----------------------------------
12/01/2010   |   44
13/01/2010   |   73
14/01/2010   |   66
16/01/2010   |   102
18/01/2010   |   12
19/01/2010   |   22

我需要它在没有应用程序的日子里打印出日期和 0,这样就不会跳过任何日子。任何想法如何做到这一点。我想一年中的每一天都加入一张 table ,但这似乎有点过分了

查询如下

SELECT
application_date AS Date,
COUNT(*) AS Applications 
FROM members
GROUP BY ap_date 

最佳答案

这与 another question on SO 非常相似.普遍的共识似乎是:

  1. 填写程序应用层的空白日期。
  2. 创建一个临时表,用日期填充它,并加入临时表。

最好的选择是 #1 - 它最不复杂,应该具有最低的开销。

关于php - 打印表中不存在的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2107012/

相关文章:

php - 索引错误会导致安全问题吗?

php - YII 迁移和表列的默认值

MySQL 查询 - 如何使用 GROUP BY 和 WHERE 条件获取 SUM 并使用 LEFT OUTER JOIN?

php - 跨多个表的更高效的数据库结构

python - 如何在 pandas 数据透视表上执行数学运算?

javascript - 使用js或php增加表单输入的数量

php - 使用IP地址的HTTPS背景图像?

php - Magento 以编程方式更改库存可用性

python - 使用 groupby 获取组中具有最大值的行

mysql - 使用 union 按查询优化组