php - MYSQL - 如果计数超过 1,则获取平均值

标签 php mysql

我有如下表格

+------+------------+--------+----------+-----------+--------------------+---------+--------------------+------+
| mrId | date_test  | c_load | c_weight | monitorId | strength           | density | str_percent        | age  |
+------+------------+--------+----------+-----------+--------------------+---------+--------------------+------+
|  853 | 2017-02-11 |    100 |     8020 |       124 |  4.444444444444445 |  2.3763 | 11.111111111111112 |    1 |
|  854 | 2017-02-13 |    305 |     7940 |       124 | 13.555555555555555 |  2.3526 |  33.88888888888889 |    3 |
|  855 | 2017-02-17 |    450 |     7910 |       124 |                 20 |  2.3437 |                 50 |    7 |
|  856 | 2017-02-17 |    460 |     8040 |       124 | 20.444444444444443 |  2.3822 |  51.11111111111111 |    7 |
|  857 | 2017-03-10 |    765 |     8020 |       124 |                 34 |  2.3763 |                 85 |   28 |
|  858 | 2017-03-10 |    735 |     8040 |       124 | 32.666666666666664 |  2.3822 |  81.66666666666667 |   28 |
+------+------------+--------+----------+-----------+--------------------+---------+--------------------+------+

我想为每个强度与年龄绘制折线图,​​但当同一天测试超过 1 个样本时,“年龄”列包含重复数据。

如果我只想要年龄计数大于 1 的平均强度,我需要使用什么查询?

最佳答案

您可以尝试使用GROUP BY来计算那些多次出现的age值的平均强度:

SELECT age, AVG(strength) AS avg_strength
FROM yourTable
GROUP BY age

请注意,我们甚至不需要包含特殊逻辑来处理 age 多次出现的情况,因为单个年龄值的平均值恰好等于该单个值。

如果你想保留相同数量的原始点,那么你可以使用子查询:

SELECT t1.age, t2.avg_strength   -- and other columns, if needed
FROM yourTable t1
INNER JOIN
(
    SELECT age, AVG(strength) AS avg_strength
    FROM yourTable
    GROUP BY age
) t2
    ON t1.age = t2.age

关于php - MYSQL - 如果计数超过 1,则获取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895713/

相关文章:

javascript - 如何在 Node.JS 上使用 SQL 包检索数据对象?

javascript - 获取和设置 localStorage 中的 javascript 值

php - 在查询中计数两次,一次使用限制

php - 使用 Yii 进行网站搜索

mysql - Mysql搜索查询优化

MySQL选择上周的数据

php - 重新索引在ElasticSearch中添加新字段不起作用…(PHP客户端)

PHP电子商务系统

php - 提交时更新数据库字段

MySQL - 如果 x 不为空,则连接表