私は、勤務時間について、FireBirdを使用したPHPプロジェクトに取り組んでいます。基本的には、すべての労働者はカードを持っています。カードは建物に出入りする際に刻印します。各スタンプは、日付(DATUM
)、id(NREC
)、user_id(NCODE
)のARCHIVEテーブルに記録されます。私がしなければならないことは、毎日の最後と最初の時間を得て、時間を計算することです。だから私はこれを使用し、最初と最後を取得しますFireBird - 2つのタイムスタンプ間の時間差を計算しますか?
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
はタイムスタンプ
私はあなたの質問は、あなたが正確に必要な情報について、もう少し詳細を必要だと思います。 –