【发布时间】:2020-12-31 21:27:14
【问题描述】:
我正在使用 Firebird 开发一个 PHP 项目,关于工作时间。基本上,每个工人都有一张卡,他在进出大楼时盖章。每个戳记都记录在ARCHIVE表中,带有日期(DATUM)、id(NREC)和user_id(NCODE)。我要做的是获取每天的最后一次和第一次,并计算小时数。所以为了获得第一个和最后一个,我使用了这个:
SELECT MAX(NREC)
FROM ARCHIVE
WHERE DATUM BETWEEN '$day.$month.$year' AND '$day+1.$month.$year';
SELECT MIN(NREC)
FROM ARCHIVE
WHERE DATUM BETWEEN '$day.$month.$year' AND '$day+1.$month.$year';
我将最大值和最大值都保存在一个变量中,然后选择这两个日期并计算。但这是 4 个查询。有没有更简单/更容易的方法?
另外,DATUM 是一个时间戳
【问题讨论】:
-
我认为您的问题需要更详细地说明您究竟需要什么信息。