ZBLOG

mysql 将查询出来的结果再次进行聚合操作 语句该怎么写?

可以使用子查询来实现将查询结果再次进行聚合操作,具体语法如下:

SELECT [聚合函数](子查询结果) FROM (原始查询语句) AS 别名;

其中,子查询是用来获取需要进行聚合操作的数据集的,原始查询语句是用来获取子查询中的数据集的。

举个例子,假设我们有一个学生成绩表 score 包含三个字段:idnamescore。现在我们要求出每个学生最高分数和最低分数的平均值。可以使用以下 SQL 查询语句实现:

SELECT AVG(max_min_score) FROM (
    SELECT MAX(score) + MIN(score) AS max_min_score FROM score GROUP BY name
) AS tmp;

解释一下上述 SQL 查询语句:

  • 内层查询 SELECT MAX(score) + MIN(score) AS max_min_score FROM score GROUP BY name 用于获取每个学生最高分数和最低分数之和,并将其命名为 max_min_score
  • 外层查询 SELECT AVG(max_min_score) FROM (...) AS tmp 用于计算所有学生最高分数和最低分数之和的平均值。

这样就能够实现将查询结果再次进行聚合操作了。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=3847

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?