17,140
社区成员




查询每天16:00-次日08:00的数据,并按时间排序,查出第三条以后的数据
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;
技术场景是什么啊?