我的SQL查询中的平均数

时间:2013-10-29 10:27:09

标签: c# sql database datagridview average

我对我的SQL查询有疑问。您将在下面看到我的数据库:

My database

我现在有以下问题:

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

现在datagridview显示了所有学生正在回答的所有问题。我想要的是每个问题的average,只显示出来。所以你有1行有问题6的平均答案和问题7有平均答案等等,我如何在我的SQL查询中实现这一点?

3 个答案:

答案 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)...

写上面的代码,它给你正确的答案