mysql选择具有时间间隔的记录数

用户名

尝试在具有datetime列(abc_datetime)的表上执行简单的select count()。但是,我想为datetime值比任何其他行的datetime值至少晚15分钟的那些行返回count()。我的想法是,我想忽略第一行后15分钟内具有datetime值的所有后续行。

表测试
+ --------------------- + 
| abc_datetime | 
+ --------------------- + 
| 2014-07-21 00:49:52 | 
| 2014-07-21 01:49:50 | 
| 2014-07-21 02:49:45 | 
| 2014-07-21 03:49:39 | 
| 2014-07-21 04:49:38 | 
| 2014-07-21 05:49:32 | 
| 2014-07-21 06:49:24 | 
| 2014-07-21 07:49:20 | 
| 2014-07-21 08:49:14 | 
| 2014-07-21 09:00:16 | 
| 2014-07-21 09:00:25 | 
| 2014-07-21 09:50:55 | 
| 2014-07-21 09:51:03 | 
| 2014-07-21 09:51:33 | 
| 2014-07-21 09:51:46 | 
| 2014-07-21 10:51:36 | 
| 2014-07-21 11:51:30 | 
| 2014-07-21 12:51:22 | 
| 2014-07-21 13:51:12 |
| 2014-07-21 14:51:05 |
| 2014-07-21 15:50:55 | 
+ --------------------- +
设置21行(0.01秒)
想要返回18的计数,因为从09:00:25和09:51:XX开始的日期时间记录将被忽略,因为它们位于上一行datetime值的15分钟之内。

戈登·利诺夫(Gordon Linoff)

我将为此使用相关子查询:

select count(*)
from (select t.*,
             (select t2.abc_datetime
              from test t2
              where t2.abc_datetime < t.abc_datetime
              order by t2.abc_datetime
              limit 1
             ) as prev_dt
      from test t
     ) t
where prev_dt is null or prev_dt < abc_datetime - interval 15 minute;

您也可以使用not exists

select count(*)
from test t
where not exists (select 1
                  from test t2
                  where t2.abc_datetime < t.abc_datetime and
                        t2.abc_datetime >= t.abc_datetime - interval 15 minute
                 );

我更喜欢这个版本,只是为了获得计数。第一个版本更适合实际查看值。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用MySQL查询以固定间隔对具有时间范围的记录进行计数

具有时间间隔的Javascript时间验证器?

在WooCommerce结帐中添加具有时间间隔的选择字段选项

用于选择具有时间间隔的 30 天数据的 sql 查询

具有时间间隔的无功ObjC发射序列

具有时间间隔的TSQL领导

具有时间间隔的javascript执行功能

具有时间间隔的表行实例的快照

如何在 PHP 中生成具有时间间隔的随机数

根据WooCommerce结帐中的打开,关闭和休息时间添加具有时间间隔的选择字段

MySQL查询根据给定的日期输入选择记录而没有时间范围

选择所有具有时间格式的列

在R中选择具有时间的行

sql选择具有时间范围的行

R使用facet_wrap绘制具有时间间隔的时间序列

在具有时间间隔的数组中使用正确的项目

node.js:具有时间间隔的货币受限并行执行(速率限制)

是否有时间间隔包含/排除结束的标准?

SQL查询-获取具有时间段的历史记录数据

如何从每个具有时间增量的客户那里获取最新记录

具有时间和日期选择器的Android警报管理器

在Javascript中检测具有时间间隔的第一人称写作

MySQL选择所有时间戳属于“小时范围”的记录,例如晚上11点至凌晨4点之间

如何在MySQL中获取具有时间限制的数据

SQL Server查询,用于根据指定的用户输入时间跨度选择具有时间的行

添加具有时间组的变量

具有时间限制的CouchDB视图

如何添加具有时间增量的数据帧?

具有时间和parseInt的UI滑块