将一个查询的结果除以另一个查询的结果

时间:2013-09-07 09:13:10

标签: mysql

我有一个有3列(名称,课程,年级)的表格。 我的“姓名”栏目包含三名学生。 我需要对每个学生的成绩进行总结,并将其除以成绩。

我正在尝试做这样的事情,

    SELECT 
        name 
    FROM 
        table 
    GROUP BY 
        name 
    AND 
        (SELECT SUM(grade) FROM table / SELECT COUNT(grade) FROM table GROUP BY name)

我不是母语为英语的人,所以我希望你能理解我。

2 个答案:

答案 0 :(得分:0)

您的表格设计不符合规范化的第一规则:原子性。单列中有多个名称,并且您希望单独处理它们。这使得查询更加困难和低效。你需要规范你的桌子。

答案 1 :(得分:0)

我希望你想计算平均成绩?

SELECT name, AVG(grade)
FROM `table`
GROUP BY name