SQL选择仅两行的平均值

时间:2013-03-16 17:02:41

标签: mysql rows average

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

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

我想编写一个select语句,这将允许我计算出Pro_id在此标识的每个程序的平均成绩。我知道你可以使用

SELECT COUNT(column_name) FROM table_name表示该列的平均值。我想获得Column

中特定行的平均值
SELECT GPA from enroll
WHERE Pro_id='4010'

我认为上述内容可行,但得到了:

  

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

+------------+--------+--------+------+-------+
| Student_id | Mod_id | Pro_id | GPA  | Grade |
+------------+--------+--------+------+-------+
| 04655236   | 111111 | 4010   | 4.84 | A+    |
| 04655236   | 22222  | 4010   | 3.23 | B-    |
| 05655236   | 22222  | 4010   | 3.84 | A-    |
| 06655236   | 33333  | 4011   | 2.84 | B-    |
| 07655236   | 44444  | 4011   | 2.23 | C-    |
| 08655236   | 55555  | 4012   | 2.23 | C-    |
+------------+--------+--------+------+-------+

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您的表格定义可能不正确,因为您提供的数据在演示中正常工作:

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

<强>结果

| AVG(GPA) |
------------
|        4 |

See the demo

对于所有程序员:

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

<强>结果

| PRO_ID | AVG(GPA) |
---------------------
|   4010 |        4 |
|   4011 |      2.5 |
|   4012 |        2 |

See the demo

答案 1 :(得分:0)

SELECT `GPA` from `enroll`
WHERE `Pro_id` = '4010'