【问题标题】:Average numbers in my SQL query我的 SQL 查询中的平均数
【发布时间】:2013-10-29 10:27:08
【问题描述】:

我对我的 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 查询中实现这一点?

【问题讨论】:

    标签: c# sql database datagridview average


    【解决方案1】:

    你好,你应该这样做

    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 
    

    【讨论】:

      【解决方案2】:
      SELECT enquete_vraag,AVG(enquete_antwoord) as [enquete_antwoord]
      FROM ...
      GROUP BY enquete_vraag
      

      那么问题当然就变成了选择哪个vak 等....由于翻译,我很难猜测哪个值意味着什么,因此很难就此提出建议。您可能可以在GROUP BY 子句中包含额外的值(如果它们对于所有匹配的行都相同);或者您可能可以使用MIN / MAX

      【讨论】:

        【解决方案3】:

        只需在代码中添加 avg 函数即可。

        ...AVG(enquete_antwoord)...
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-11-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-29
          相关资源
          最近更新 更多