如何计算每行 MYSql 中的 AVG()
How to calculate the AVG() in MYSql of each row
我有一个 MYSQL 用户 Table 看起来像这样:
NAME / Q1 / Q2 / Q3 / Q4 / AVG
john 3 4 2 5
其中 Q 是每个标准的分数。
我想知道如何在每个 AVG 列中插入 q1、q2、q3、q4 的平均值。
你只需要简单的数学
UPDATE `table` SET `AVG` = (Q1+Q2+Q3+Q4)/4
只需将它们相加并除以四即可。
SELECT name,
q1,
q2,
q3,
q4,
(q1 + q2 + q3 + q4) / 4 avg
FROM users;
或者更改设计,让成绩看起来像 table:
userid | period | grade
--------+--------+-------
1 | q1 | 3
1 | q2 | 4
1 | q3 | 2
1 | q4 | 5
然后就可以使用聚合了。
SELECT avg(grade)
FROM elbat
GROUP BY userid;
我有一个 MYSQL 用户 Table 看起来像这样:
NAME / Q1 / Q2 / Q3 / Q4 / AVG
john 3 4 2 5
其中 Q 是每个标准的分数。
我想知道如何在每个 AVG 列中插入 q1、q2、q3、q4 的平均值。
你只需要简单的数学
UPDATE `table` SET `AVG` = (Q1+Q2+Q3+Q4)/4
只需将它们相加并除以四即可。
SELECT name,
q1,
q2,
q3,
q4,
(q1 + q2 + q3 + q4) / 4 avg
FROM users;
或者更改设计,让成绩看起来像 table:
userid | period | grade
--------+--------+-------
1 | q1 | 3
1 | q2 | 4
1 | q3 | 2
1 | q4 | 5
然后就可以使用聚合了。
SELECT avg(grade)
FROM elbat
GROUP BY userid;