Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在最近的日期查找最新的_Sql_Max - Fatal编程技术网

Sql 在最近的日期查找最新的

Sql 在最近的日期查找最新的,sql,max,Sql,Max,我有一个表格,其中包含员工姓名、他们预订工作的日期和预订时间,我希望找到每个员工的最新日期和该日期的最新时间 雇员 日期 时间 做记号 09/05/21 08:00 马特 08/05/21 07:00 马特 09/05/21 07:00 保罗 08/05/21 06:59 做记号 10/05/21 10:20 您可以使用行编号(): 注意:通常最好将日期和时间存储在一列中,而不是两列中 create table yourtable (Employee varchar(50),Date date

我有一个表格,其中包含员工姓名、他们预订工作的日期和预订时间,我希望找到每个员工的最新日期和该日期的最新时间

雇员 日期 时间 做记号 09/05/21 08:00 马特 08/05/21 07:00 马特 09/05/21 07:00 保罗 08/05/21 06:59 做记号 10/05/21 10:20
您可以使用
行编号()

注意:通常最好将日期和时间存储在一列中,而不是两列中

 create table yourtable (Employee varchar(50),Date date, Time time);
 insert into yourtable values('Mark',   '09/05/21', '08:00');
 insert into yourtable values('Matt',   '08/05/21', '07:00');
 insert into yourtable values('Matt',   '09/05/21', '07:00');
 insert into yourtable values('Paul',   '08/05/21', '06:59');
 insert into yourtable values('Mark',   '10/05/21', '10:20');

 with EmployeeLatestBooking as
 (
    select employee,date,time,row_number()over(partition by employee order by date ,time )rn
    from yourtable
 )
 select Employee,date,time from EmployeeLatestBooking where rn=1
 GO
输出:

雇员 日期 时间 做记号 2021-09-05 08:00:00.0000000 马特 2021-08-05 07:00:00.0000000 保罗 2021-08-05 06:59:00.0000000
到目前为止你做了什么?为什么要分别存储日期和时间?请在版本中注明您的dbms名称。非常感谢
 create table yourtable (Employee varchar(50),Date date, Time time);
 insert into yourtable values('Mark',   '09/05/21', '08:00');
 insert into yourtable values('Matt',   '08/05/21', '07:00');
 insert into yourtable values('Matt',   '09/05/21', '07:00');
 insert into yourtable values('Paul',   '08/05/21', '06:59');
 insert into yourtable values('Mark',   '10/05/21', '10:20');

 with EmployeeLatestBooking as
 (
    select employee,date,time,row_number()over(partition by employee order by date ,time )rn
    from yourtable
 )
 select Employee,date,time from EmployeeLatestBooking where rn=1
 GO