繁体   English   中英

如何从特定日期开始显示

[英]how to show from certain date onwards

我想显示某个日期之后的日期,但将其限制为7行,例如:我想显示2018年1月11日至7行的日期

SELECT 
EmployeeID,[Date], ShiftType, Shift_Description
FROM
Roster r inner join ShiftType s on r.ShiftType = s.ShiftID 
WHERE EmployeeID = 123123
ORDER BY [Date] ASC;

结果

您可以为查询添加条件日期和限制:

SELECT 
EmployeeID,[Date], ShiftType, Shift_Description
FROM
Roster r inner join ShiftType s on r.ShiftType = s.ShiftID 
WHERE EmployeeID = 123123 AND Date > '2018-01-11'
ORDER BY [Date] ASC
LIMIT 7;

对于MySQL使用Limit

SELECT 
EmployeeID,[Date], ShiftType, Shift_Description
FROM
Roster r inner join ShiftType s on r.ShiftType = s.ShiftID 
WHERE EmployeeID = 123123 AND Date >= '2018-01-11'
ORDER BY [Date] ASC
LIMIT 7;

对于SQL Server使用TOP

SELECT Top 7
EmployeeID,[Date], ShiftType, Shift_Description
FROM
Roster r inner join ShiftType s on r.ShiftType = s.ShiftID 
WHERE EmployeeID = 123123 AND Date >= '2018-01-11'
ORDER BY [Date] ASC;

您没有指定数据库,但从屏幕截图和查询语法来看,它似乎是SQL Server,因此我将在此基础上进行回答。

添加日期条件后,可以使用TOP语句获取前7条记录:

SELECT TOP 7
EmployeeID, [Date], ShiftType, Shift_Description
FROM Roster r
INNER JOIN ShiftType s ON r.ShiftType = s.ShiftID 
WHERE EmployeeID = 123123
  AND [DATE] >= '2018-01-11'
ORDER BY [Date] ASC;

您也可以使用DATEDIFF()函数比较日期。 在此查询中,它至少在2018年1月10日之后的一天开始:

SELECT TOP 7
EmployeeID, [Date], ShiftType, Shift_Description
FROM Roster r
INNER JOIN ShiftType s ON r.ShiftType = s.ShiftID 
WHERE EmployeeID = 123123
  AND DATEDIFF(DAY, '2018-01-10', [DATE]) > 0
ORDER BY [Date] ASC;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM