MySQL 可以进行单查询吗?

标签 mysql

我有一个 MySQL 语句:

SELECT name, ((AVG (q1) + AVG(q2) + AVG(q3) / 3) AS Average 
FROM tresults GROUP BY name ORDER BY name;

我还有另一个MySQL语句:

SELECT name, ((AVG (q1) + AVG(q2) + AVG(q3) / 3) AS Average 
FROM tresults WHERE q35 = 1 GROUP BY name ORDER BY name;

我尝试过使用子查询,但由于它返回不止一行,因此以下代码不起作用:

SELECT name, ((AVG (q1) + AVG(q2) + AVG(q3) / 3) AS Average,
  (SELECT ((AVG (q1) + AVG(q2) + AVG(q3) / 3) 
  FROM tresults WHERE q35 = 1 GROUP BY name ORDER BY name ) AS Average2  
FROM tresults GROUP BY name ORDER BY name;

这可能吗?声明的结构会是什么样子?

预先感谢您提供的所有反馈和建议。

最佳答案

SELECT name, 
       (AVG (AVG (q1) + AVG(q2) + AVG(q3) / 3) AS Average,
       (AVG (AVG (case when q35 = 1 then q1 else 0 end) + 
            (AVG (case when q35 = 1 then q2 else 0 end) + 
            (AVG (case when q35 = 1 then q3 else 0 end) / 3) AS q35_Average
FROM tresults 
GROUP BY name 
ORDER BY name

关于MySQL 可以进行单查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24853733/

相关文章:

MySQL Workbench - 排序规则恢复为架构默认值

php - 按关联项搜索的 SQL

mysql - Moodle 2.x 在哪里保存类(class)备份?

php - 从 mysql 数据库上传时,如何显示带有图像的最后 5 个帖子?

MySQL 修复索引,以便左连接上可能的键不为空

mysql - 在spark中将数据保存到MySQL后DataFrame变空

php - 有没有办法将 UMA 头像配方**包括其转义字符**保存到我的数据库?

mysql - MySQL中如何让多个表共享id列

java - 如何使用 JPA 将 MySQL 时间戳字段持久保存为 java 中的长(纪元)字段?

php - Jquery Ajax从php mysql获取数据而不刷新页面 - 语法错误