【问题标题】:SQL Query only to return min/Max Value for each rowSQL 查询仅返回每行的最小值/最大值
【发布时间】:2019-01-18 00:03:59
【问题描述】:

我有以下查询,它返回一个日期范围内的打卡时间, 我需要查询在一个新字段中返回每个时钟日期的最小和最大时钟时间,然后我将能够计算工作时间。

任何帮助将不胜感激

谢谢

Select staffid, staffname, clockdate, clocktime
from database
where ClockDate >='2019-01-01'

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。样本数据和期望的结果也会有所帮助。

标签: sql max min


【解决方案1】:

如果您想要每行每天每位员工的最短和最长时间,请使用窗口函数:

Select staffid, staffname, clockdate, clocktime,
       min(clocktime) over (partition by staffid, clockdate) as earliest_time,
       max(clocktime) over (partition by staffid, clockdate) as latest_time
from database
where ClockDate >= '2019-01-01';

【讨论】:

    猜你喜欢
    • 2012-12-15
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多