当前位置: 首页 > 面试题库 >

MySql查询:包括具有COUNT(id)== 0但仅在最近30天内的天

蒋泰
2023-03-14
问题内容

我正在查询以获取最近30天每天从数据库中获取的构建数量。但是现在已经需要标记没有构建的日子。

在我的WHERE子句中,我使用Submittime来确定是否有构建,如何修改它以包括COUNT(id)== 0但仅在最近30天内的天。

原始查询:

   SELECT COUNT(id) AS 'Past-Month-Builds', 
          CONCAT(MONTH(submittime), '-', DAY(submittime)) as 'Month-Day' 
     FROM builds 
    WHERE DATE(submittime) >= DATE_SUB(CURDATE(), INTERVAL 30 day) 
 GROUP BY MONTH(submittime), DAY(submittime);

我尝试过的

   SELECT COUNT(id) AS 'Past-Month-Builds', 
          CONCAT(MONTH(submittime), '-', DAY(submittime)) as 'Month-Day' 
     FROM builds 
    WHERE DATE(submittime) >= DATE_SUB(CURDATE(), INTERVAL 30 day) 
       OR COUNT(id) = 0
 GROUP BY MONTH(submittime), DAY(submittime);

问题答案:

您需要一个日期表,然后左联接到builds表。

像这样的东西:

SELECT 
    COUNT(id) AS 'Past-Month-Builds', 
    CONCAT(MONTH(DateTable.Date), '-', DAY(DateTable.Date)) as 'Month-Day' 
FROM DateTable
    LEFT JOIN builds ON DATE(builds.submittime) = DateTable.Date
WHERE DateTable.Date >= DATE_SUB(CURDATE(), INTERVAL 30 day) 
GROUP BY MONTH(submittime), DAY(submittime);


 类似资料:
  • 我有一个查询,我用它从数据库中提取数据,但我发现它错过了第一天和最后一天。在本例中,它跳过了将“scadenze”设置为“01-05-2021”的记录,而遗漏了将“scadenze”设置为“31-05-2021”的记录。这几天我怎么也能融入? 这是我使用的查询: 这个查询“有效”,但它删除了第一天和最后一天。我怎样才能包括他们? 谢谢

  • 本文向大家介绍mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句,包括了mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句的使用技巧和注意事项,需要的朋友参考一下 mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添

  • 我出售的是实体产品,我每天都将它们当前的库存水平保存在MySQL数据库中。 现在,我想建立一个查询,选择最近的日期,其中库存水平高于30,并且所有之前6天的库存水平高于30。 作为一个例子,请查看下面的截图。 附说明的表格截图 如何才能做到这一点呢? 向丹尼致意

  • 我有我的发电机数据库表如下: HashKey(日期)、RangeKey(时间戳) DB存储每天的数据(哈希键)和时间戳(范围键)。 现在我想查询过去7天的数据。我可以在一次查询中做到这一点吗?还是我需要每天调用dbb 7次?数据的顺序并不重要因此,有人可以建议一个有效的查询来做到这一点。

  • 问题内容: 我在这里阅读了一些帖子,似乎没什么特别的,但是我仍然不能选择最后几天的条目。 如果我在今天和过去7天之间添加,则我的代码将不会输出任何内容。 问题答案: 该子句放错了位置,它必须遵循表引用和JOIN操作。 像这样: 编辑 (三三年后) 上面的内容基本上回答了以下问题:“我试图在查询中添加WHERE子句,但现在查询返回错误,我该如何解决?” 关于写一个检查“过去7天”日期范围的条件的问题

  • 问题内容: 我正在使用MYSQL,我知道有一个limit命令可以显示一定数量的结果,但是我想知道MySQL是否只能显示最近3天之类的信息。就是想。 更新: 我使用NOW()来存储时间。 问题答案: 使用三天前的日期: 查看DATE_ADD文档。 或者您可以使用: