You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用TIMESTAMPDIFF筛选时长小于1小时且指定时段的表数据

解决你的SQL筛选问题

我来帮你调整SQL语句,让它准确筛选出时长小于1小时且在2018年内的条目(也就是你要的example 2数据)。

首先先指出原SQL里的两个问题:

  • 字段名拼写错误:你写的ende应该是表结构里的end字段
  • 缺少时长小于1小时的核心筛选条件

以下是修正后的完整SQL语句:

SELECT 
  start, 
  `end`, 
  TIMESTAMPDIFF(HOUR, `start`, `end`) AS duration_hours
FROM table1
WHERE 
  start >= '2018-01-01' 
  AND `end` <= '2018-12-31'
  AND TIMESTAMPDIFF(HOUR, `start`, `end`) < 1;

关键说明:

  • 修正字段名:把错误的ende改成end,并且用反引号`包裹,因为end是SQL的保留关键字,避免语法冲突
  • 时长筛选条件:TIMESTAMPDIFF(HOUR, start, end) < 1会排除掉时长≥1小时的条目(比如example 1的2小时时长就会被过滤),只保留像example 2这种不足1小时的记录
  • 时间段范围:保留了你原本的2018全年筛选条件,确保只处理该年份内的事件

如果想要更精准的分钟级判断(比如刚好60分钟的情况也排除),可以把时长条件换成分钟计算:

AND TIMESTAMPDIFF(MINUTE, `start`, `end`) < 60

这样执行后就只会返回example 2这条数据了。

内容的提问来源于stack exchange,提问作者user9554121

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:05:57