我对我的SQL查询有疑问。您将在下面看到我的数据库:
我现在有以下问题:
SELECT enquete_vraag,enquete_antwoord,docent,vak,semesterstart
FROM ENQUETE_ANTWOORD
LEFT JOIN KDV ON ENQUETE_ANTWOORD.kdv_ID = KDV.kdv_ID
LEFT JOIN DOCENT ON KDV.docent_ID = DOCENT.docent_ID
LEFT JOIN VAK ON KDV.vak_ID = VAK.vak_ID
LEFT JOIN ENQUETE_VRAAG ON ENQUETE_ANTWOORD.enquete_vraag_ID = ENQUETE_VRAAG.enquete_vraag_ID
WHERE DOCENT.docent_ID = variableDocentID AND VAK.vak = variableVak
我在datagridview
:
现在datagridview
显示了所有学生正在回答的所有问题。我想要的是每个问题的average
,只显示出来。所以你有1行有问题6的平均答案和问题7有平均答案等等,我如何在我的SQL查询中实现这一点?
答案 0 :(得分:2)
嗨,你应该做这样的事情
SELECT enquete_vraag,AVG(enquete_antwoord) enquete_antwoord,docent,vak,semesterstart
FROM ENQUETE_ANTWOORD
LEFT JOIN KDV ON ENQUETE_ANTWOORD.kdv_ID = KDV.kdv_ID
LEFT JOIN DOCENT ON KDV.docent_ID = DOCENT.docent_ID
LEFT JOIN VAK ON KDV.vak_ID = VAK.vak_ID
LEFT JOIN ENQUETE_VRAAG ON ENQUETE_ANTWOORD.enquete_vraag_ID = ENQUETE_VRAAG.enquete_vraag_ID
WHERE DOCENT.docent_ID = variableDocentID AND VAK.vak = variableVak
GROUP BY enquete_vraag, docent,vak,semesterstart
答案 1 :(得分:1)
SELECT enquete_vraag,AVG(enquete_antwoord) as [enquete_antwoord]
FROM ...
GROUP BY enquete_vraag
当然,问题变成了vak
等选择......由于翻译,我不容易猜出哪个值意味着什么,所以很难就此提出建议。您可能能够在GROUP BY
子句中包含额外的值(如果它们对于所有匹配的行是相同的);或可能能够MIN
/ MAX
。
答案 2 :(得分:0)
只需在代码中添加avg功能。
...AVG(enquete_antwoord)...
写上面的代码,它给你正确的答案