0

我目前正在为学校完成一个 SQL 数据库项目。

我使用过 W3school、Google 并阅读了几个 SQL 平均问题

我想写一个选择语句,让我计算出 Pro_id 在这里标识的每个程序的平均成绩。我知道你可以使用

SELECT COUNT(column_name) FROM table_name为列的平均值。我想获得列中特定行的平均值

SELECT GPA from enroll
WHERE Pro_id='4010'

我认为上述方法可行,但得到了:

错误 1054 (42S22):“字段列表”中的未知列“GPA”

+------------+--------+--------+------+--------+
| 学生编号 | Mod_id | Pro_id | 平均绩点 | 等级 |
+------------+--------+--------+------+--------+
| 04655236 | 111111 | 4010 | 4.84 | 一个+ |
| 04655236 | 22222 | 4010 | 3.23 | B- |
| 05655236 | 22222 | 4010 | 3.84 | 一个- |
| 06655236 | 33333 | 4011 | 2.84 | B- |
| 07655236 | 44444 | 4011 | 2.23 | C- |
| 08655236 | 55555 | 4012 | 2.23 | C- |
+------------+--------+--------+------+--------+

任何帮助将不胜感激。

4

2 回答 2

0
SELECT `GPA` from `enroll`
WHERE `Pro_id` = '4010'
于 2013-03-16T17:09:52.297 回答
0

您的表定义可能不正确,因为您提供的数据在演示中运行良好:

SELECT AVG(GPA)
FROM enroll
WHERE Pro_id = 4010
GROUP BY Pro_id

结果

| 平均成绩(GPA) |
------------
| 4 |

查看演示

对于所有程序员:

SELECT Pro_id, AVG(GPA)
FROM enroll
GROUP BY Pro_id

结果

| PRO_ID | 平均成绩(GPA) |
---------------------
| 4010 | 4 |
| 4011 | 2.5 |
| 4012 | 2 |

查看演示

于 2013-03-16T17:05:47.233 回答