从多个列中查找最小和最大数据



我有一个表,它准确地指定了每个员工在特定办公室的日期和时间。我想知道每个员工是什么日期和时间来上班的,什么日期和时间下班的。我还想知道他在每个时间流程中工作了多少次。

EmployeeTable看起来像这样:

<表类> id EmployeeID DateP TimeP tbody><<tr>1111111397/01/0201:302111111398/05/0905:303111111398/06/0705:104222221398/08/0906:125222221399/02/0107:156111111399/07/0208:517111111399/08/0612:208333331399/09/0420:019333331399/12/08球队的10333331400/01/0123:1111333331400/02/05十四1012222221400/04/0516:25

如果我理解正确的话,您只是想知道每个员工岛中的记录数量。在这种情况下,只需在最后的查询中选择COUNT(*):

SELECT
EmployeeID,
MAX(CASE WHEN rn_first = 1 THEN DateP END) AS MinDateP,
MAX(CASE WHEN rn_first = 1 THEN TimeP END) AS TimeMinDateP,
MAX(CASE WHEN rn_last = 1  THEN DateP END) AS MaxDateP,
MAX(CASE WHEN rn_last = 1  THEN TimeP END) AS TimeMaxDateP,
COUNT(*) AS count
FROM cte2
GROUP BY
EmployeeID,
rn1 - rn2
ORDER BY
MIN(DateP),
MIN(TimeP);

相关内容

  • 没有找到相关文章

最新更新