私はこのクエリを持っています:
SELECT TOP 1 A.ExamTemplateId, A.Id AS AnsweredTestId, AVG(B.Score) AS AvgScore, A.[Date]
FROM AnsweredTest AS A
INNER JOIN AnsweredWorksheet AS B ON (A.Id = B.AnsweredTestId)
WHERE A.StudentId = 'OPA-3DKCL2' AND A.ExamTemplateId = 1
GROUP BY A.Id, A.ExamTemplateId, A.[Date]
ORDER BY AvgScore DESC
WHERE
静的な番号を受け取る条件があることを確認してください。クエリ結果は次のとおりです。
例1
例2
そしてそれは正しいです!しかし、ここで、ExamTemplateテーブルのすべてのレコードを表示したいと思います。しかし、今はどうすればそれを達成できるのかわかりません。関数を作成しようと思っていたのですが、よくわかりません。ただのアイデアです。
私が受け取りたい最終的な出力は、最後のレコードの結合です。
1 1 0.7 2012-10-21 19:50:11.697
2 10 0.555555555555556 2012-10-22 18:58:24.163
前もって感謝します。
アップデート:
興味のある行を黄色で強調表示しています。TOP 1
で最高の平均スコアを取得したいので、最後のクエリで設定しましたExamTemplateId
。そして、それがすべてになります。