php - Mysql - 将总和输出为单个表中一个字段中的行之一

标签 php mysql pivot alias

我的声明是这样的:

SELECT, id, Subject, score, fm
FROM(
SELECT id, Subject, SUM( score )/SUM(mm)*100 AS score,   
SUM(mm) as fm,
SUM(CASE WHEN enna IN ('test')
            THEN (score)
        END)/SUM(CASE WHEN enna IN ('test')
            THEN (mm)
        END)*100 AS scoreb
FROM table WHERE id ='2' AND Year='2014' 
AND enna = 'exam'  
GROUP BY Subject)r;

<强> SQL FIDDLE HERE

如何使用 test 作为主题之一,以及在相应的行中如何将 Scoreb 作为字段 score1 中的行之一。我一直在谷歌搜索,找不到任何线索。 我没有足够的声誉,无法在此处上传,因此我已在

上传了我的预期输出

enter image description here

最佳答案

我认为最简单的方法是使用union all:

SELECT id, Subject, score, mm as fm
FROM table
WHERE id = '2' AND Year='2014' AND enna = 'exam'  
UNION ALL
SELECT id, 'test' as Subject, SUM(score) as score,
       SUM(score)/SUM(mm)*100 AS fm
FROM table
WHERE id = '2' AND Year='2014' AND enna = 'test' ;

顺便说一句,我没有得到 fm 的计算结果。查询中的计算与您显示的结果不同。但这很容易调整。

关于php - Mysql - 将总和输出为单个表中一个字段中的行之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24850723/

相关文章:

python - 将 pandas 列转置为一行,使用另一列作为索引

sql - 在 SQL Server 中将一列中的数据拆分为多行

php - 从 wsdl 生成 php 代码

php - 命名空间无法正确解析

mysql - 根据行数将数据从行连接到 1 行

php - 当 nginx 和 db 在不同的服务器上时,db 查询出错? "PHP message: Database transaction aborted automatically in"

sql - 有没有办法用 t-sql 创建 "pivot group"列?

php - 使用 PHP 创建 REST API

php - Mysql比较值

php - 在清理数据时,SQL LIKE 查询是否需要特别注意?