• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
懒惰虫
博客园    首页    新随笔    联系   管理    订阅  订阅

oracle查询每隔5分钟区间内的数据量

SELECT
    COUNT (DISTINCT tmp.PLATE) totalNum,
    tmp.newTime
FROM
    (
        SELECT
            T .LICENSE_PLATE plate,
            TO_CHAR (
                T .create_time,
                'yyyymmddhh24mi'
            ) oldTime,
            -- 原来的时间
            CASE
        WHEN SUBSTR (
            TO_CHAR (T .create_time, 'mi'),
            2,
            1
        ) < 5 THEN
            TO_CHAR (
                T .create_time,
                'yyyymmddhh24'
            ) || SUBSTR (
                TO_CHAR (T .create_time, 'mi'),
                1,
                1
            ) || 0
        ELSE
            TO_CHAR (
                T .create_time,
                'yyyymmddhh24'
            ) || SUBSTR (
                TO_CHAR (T .create_time, 'mi'),
                1,
                1
            ) || 5
        END AS newTime -- 时间段伪列     
        FROM
            B_TRACK T
        WHERE
            T .create_time >= TO_DATE (
                '20180703000000',
                'yyyymmddhh24miss'
            )
        ORDER BY
            T .create_time ASC
    ) tmp
GROUP BY
    tmp.newTime
ORDER BY
    tmp.newTime DESC

 

posted @ 2018-07-03 17:46  懒惰虫  阅读(3798)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3