求大神指点,统计夜班工作量,查询每天16:00-次日08:00的数据

baidu_39356492 2024-02-23 11:42:37

查询每天16:00-次日08:00的数据,并按时间排序,查出第三条以后的数据

...全文
280 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pineux 02-25
  • 打赏
  • 举报
回复

MySQ查询:

SELECT DATE(datetime_column) AS Date,
       COUNT(*) AS NightShiftWorkload
FROM your_table
WHERE TIME(datetime_column) >= '16:00:00'
  OR TIME(datetime_column) < '08:00:00'
GROUP BY DATE(datetime_column);

在这个查询中:

  • datetime_column 是包含日期和时间信息的列名,你需要替换成你实际的列名。
  • your_table 是你要查询的数据表名,也需要替换成实际的表名。
  • DATE(datetime_column) 函数用于提取日期部分。
  • TIME(datetime_column) 函数用于提取时间部分。
  • COUNT(*) 函数用于统计每天夜班时间段内的数据量。
  • WHERE 子句用于筛选出在夜班时间段内的数据。
  • GROUP BY DATE(datetime_column) 用于按日期进行分组,以便统计每天的夜班工作量。
  • 打赏
  • 举报
回复

由于您没有给表,自己建了一个(name是姓名,worktime是数据录入时间)

CREATE TABLE employees (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(50),
    worktime TIMESTAMP
); 

查询每天16:00-次日08:00的数据的sql:

select to_char(worktime,'YYYY-MM-DD HH24:MI:SS') from employees where (TO_CHAR(worktime, 'HH24')>='16' and TO_CHAR(worktime, 'HH24')<='23') or (TO_CHAR(worktime, 'HH24')>='00' and TO_CHAR(worktime, 'HH24')<='08') order by worktime desc;

5美刀 02-23
  • 打赏
  • 举报
回复

技术场景是什么啊?

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧