次のクエリで助けが必要
現時点では、年間四半期ごとにグループ化された「勤務時間」を持つユーザーのリストが表示されます。また、勤務日数で合計したいと思います。問題は、1 日につき複数の行が存在する可能性があるため、"onsitedate" の合計が正しくないことです。結果は四半期ごとに表示する必要があるため、「日」でグループ化することはできません。
SQL
SELECT
username,
DatePart ('q', [onsitedate]) AS [qtr],
SUM(onsitehours),
SUM(onsitedate)
FROM
clocktable
WHERE onsitedate BETWEEN #2013-01-01# AND #2013-12-31#
GROUP BY username, DatePart('q',[onsitedate])
ORDER BY username, DatePart('q',[onsitedate])
詳細情報と TQ が必要な場合はお知らせください
アップデート
前述のように、サイト日付行で COUNT を使用する必要があります (タイプミス)
SELECT
username,
DatePart ('q', [onsitedate]) AS [qtr],
SUM(onsitehours),
**COUNT(onsitedate)**
FROM
ただし、同じ日付に2つのレコードが存在する場合、カウントを1にしたいと思います
サンプルデータは以下のとおりです。
username onsitedate onsitehours
-----------------------------------------------
bob 01/09/2013 10
bob 01/09/2013 2
fred 01/09/2013 12
jim 01/09/2013 10
jim 02/09/2013 5
必要なRS
username qtr onsitedate_count onsitehours_sum
---------------------------------------------------------
bob 3 1 12
fred 3 1 12
jim 3 2 15
ご覧のとおり、bob には 2013 年 1 月 9 日に 2 つのレコードがありますが、同じ日であるため、onsitedate_count は 1 のままです。
また、日が最初にグループ化されるようにフォローしようとしましたが、喜びはありません
GROUP BY tech_name, DatePart('d',[on_site_date]), DatePart('q',[on_site_date])