0
私は2つのフィールド(payrollとabsenceReason)を持つMSアクセスのテーブルを持っています。 1つのインスタンスに1つのレコードが存在します。各グループの最大数を取得します
私はSQLクエリーを作成して、各人に最も頻繁に欠席する理由を返そうとしています。私はこれを行う簡単な方法があると確信していますが、私はそれを取得するように見えることはできません。私は以下のクエリを書こうとしました:
SELECT payroll, reason, max(count)
FROM
(
SELECT payroll, reason, count(reason) as count
FROM table1
GROUP BY payroll, reason
)
GROUP BY payroll, reason
しかし、これは各人ごとにすべての理由を返します。理由をGROUP BY句から削除すると、選択部分に理由が集約されていないため、機能しません。誰が私が間違っているのかを指摘できますか?
おかげ
これは素晴らしい作品をありがとうございました!私はちょうど最初のエイリアスをt1に変更しなければならなかった – Leroy
誰かが1つ以上のトップ理由(例えばそれぞれ1つ)を持っていれば、最新のものを返すように、これを調整する方法を知っていますか?表)?ありがとう – Leroy
それは大丈夫です。わかった。私は、サブクエリのGROUP BY句にhavingDateを入れて、それを理由の代わりにORDER BY句に含めました。 – Leroy