使用单个查询获取每个多个日期间隔的条目数

马丁
SELECT COUNT(*) FROM `table` WHERE `datetime` > SUBDATE(NOW(), INTERVAL 1 DAY)

这将获得最后一天的条目数。但是,它可能获得多个间隔的条目数量,而不必发送这个查询多次的变化(INTERVAL 1 DAYINTERVAL 1 WEEKINTERVAL 1 MONTH,...)?

1000111

您需要CASE WHEN表达才能做到这一点。

SELECT
    COUNT(CASE WHEN DATE(`datetime`) >= CURDATE() - INTERVAL 1 DAY AND DATE(`datetime`) < CURDATE() THEN 1 END) AS lastDay,
    COUNT(CASE WHEN DATE(`datetime`) >= CURDATE() - INTERVAL 7 DAY AND DATE(`datetime`) < CURDATE() THEN 1 END ) AS lastSevenDays,
    COUNT(*) AS lastThirtyDays
FROM `table`
WHERE   
DATE(`datetime`) >= CURDATE() - INTERVAL 30 DAY

如何使用CASE WHEN表达式

注意:如果您的要求是获取过去一天,过去7天和过去30天的结果,则请执行此查询。

编辑:

如果您在datetime字段上有索引,则以上查询将无法使用该索引。请使用下面给出的查询,以利用上的索引datetime

SELECT
    COUNT(CASE WHEN DATE(`datetime`) >= CURDATE() - INTERVAL 1 DAY AND DATE(`datetime`) < CURDATE() THEN 1 END) AS lastDay,
    COUNT(CASE WHEN DATE(`datetime`) >= CURDATE() - INTERVAL 7 DAY AND DATE(`datetime`) < CURDATE() THEN 1 END ) AS lastSevenDays,
    COUNT(*) AS lastThirtyDays
FROM `table`
WHERE   
`datetime` >= (NOW() - INTERVAL 30 DAY - INTERVAL HOUR(NOW()) HOUR - INTERVAL MINUTE(NOW()) MINUTE - INTERVAL SECOND(NOW()) SECOND)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取每个期间的条目数(不包括第一个条目)(SQL查询)

来自分类Dev

单个查询以获取多个日期的数据

来自分类Dev

SQL,按日期间隔查询

来自分类Dev

Java日期间隔中的动态查询

来自分类Dev

在pyspark中获取日期间隔

来自分类Dev

获取单个条目时获取查询排名

来自分类Dev

DB2 使用标记的持续时间在多个日期间隔内无效

来自分类Dev

具有定义日期间隔的 MySQL 查询行

来自分类Dev

日期间隔内%%

来自分类Dev

如何使用r在以其组ID为条件的单个列中查找多个日期之间的间隔?

来自分类Dev

PHP日期获取每个期间的开始日期和结束日期

来自分类Dev

在Rails中使用日期过滤获取子模型的条目数

来自分类Dev

R:确定每个日期间隔是否与数据框中的所有其他日期间隔重叠

来自分类Dev

如何在XQuery 1.0中获取日期间隔

来自分类Dev

Nodejs Express 使用表单中的数据查询 mongolab 以获取单个条目

来自分类Dev

如何从单个日期时间列中获取平均间隔?

来自分类Dev

获取单个条目并使用MySQLi显示它?

来自分类Dev

使用case语句mysql添加日期间隔

来自分类Dev

PostgreSQL使用日期间隔和SELECT语句

来自分类Dev

使用lubridate计算日期间隔内的日历天

来自分类Dev

使用case语句mysql添加日期间隔

来自分类Dev

在PHP中使用strtotime检查日期间隔

来自分类Dev

Dialogflow:在单个查询中匹配多个实体条目

来自分类Dev

mysql更新查询错误,将多个条目插入单个列

来自分类Dev

确定连续的日期间隔

来自分类Dev

MySQL日期间隔选择

来自分类Dev

SQL查找日期间隔

来自分类Dev

在单个Keen查询中获取多个指标

来自分类Dev

通过单个查询获取多个表列的总和

Related 相关文章

热门标签

归档