4

これが私のデータベース構造の写真です:

観測記録 - データベース構造

基準

Observationを入力すると、 に行が入力されObservationsますが、 にも 0、1、または複数の行が入力されCriteriaます。

特定の基準で最強の 5 人の教師を選択できるようにする SQL ステートメントを作成しようとしています。

たとえば、 ( in が含まれている可能性がある) をクリックすると、 inQuestioningID行が最も多い5 人の教師 ( from ) のリストが返されます。5Criteria_LabelsTeacher_IDObservationsCriteria_ID = 5Criteria

私が書こうとしたステートメントは次のとおりです。

SELECT t.Name AS Teacher_Name
FROM observations o
LEFT JOIN teachers t ON o.Teacher_ID = t.Teacher_ID
LEFT JOIN criteria c ON o.ID = c.Observation_ID
WHERE c.Criteria_ID = 5
ORDER BY COUNT(c.Criteria_ID) DESC
LIMIT 0,5

ただし、1 人のスタッフしか戻らないようです。これが正しいかどうかはわかりませんが、正しい方向に進んでいることを願っています。

誰でも助けることができますか?前もって感謝します、

4

1 に答える 1

0
SELECT t.Teacher_ID, t.Name AS Teacher_Name, count(*) as total
FROM observations o
LEFT JOIN teachers t ON o.Teacher_ID = t.Teacher_ID
LEFT JOIN criteria c ON o.ID = c.Observation_ID
WHERE c.Criteria_ID = 5
group by t.Teacher_ID, t.Name
order by total desc
limit 5
于 2012-09-19T19:21:49.230 に答える