Mysql 需要查询减法和除法吗?
在我的表格列中,如下所示 星期一,是的,星期五。。。我想问一下Mysql 需要查询减法和除法吗?,mysql,sql,advantage-database-server,Mysql,Sql,Advantage Database Server,在我的表格列中,如下所示 星期一,是的,星期五。。。我想问一下 SELECT ((( SELECT SUM(msd_sva) FROM msdfc00 WHERE msd_yea IN ( SELECT DISTINCT msd_yea FROM msdfc00 ) )-( SELECT SUM(msd_sva)
SELECT
((( SELECT SUM(msd_sva)
FROM msdfc00
WHERE msd_yea IN
(
SELECT DISTINCT msd_yea
FROM msdfc00
)
)-( SELECT SUM(msd_sva)
FROM msdfc00
WHERE msd_yea = '2016'
)* 100) / ( SELECT SUM(msd_sva)
FROM msdfc00
WHERE msd_yea = '2016'
)) AS thePerc,
msd_yea
FROM msdfc00
WHERE msd_fco = 'KF'
AND msd_mon = '11'
GROUP BY msd_yea
也就是说,我想从2016年msd月期间的msd月sva总额中减去2017年msd月期间的msd月sva总额。我的基准年是2016年。到2018年,我只有4年的时间。所以计算将是这样的
2016年的值为0,2017年为2017-2016年*
2017年为100\2016,2017年为2018-2016*100\2016
2017年将是2019-2016*100\2016年
有什么帮助吗?使用条件聚合:
select sum(case when msd_yea = 2016 then msc_sva end) as sva_2016,
sum(case when msd_yea = 2017 then msc_sva end) as sva_2017,
sum(case when msd_yea = 2018 then msc_sva end) as sva_2018,
sum(case when msd_yea = 2019 then msc_sva end) as sva_2019
from msdfc00
where msd_fco = 'KF' and msd_mon = '11';
您可以使用子查询进行最终计算:
select 0 as val_2016,
(sva_2017 - sva_2016) * 100 / sva_2016 as val_2017,
. . .
from (select sum(case when msd_yea = 2016 then msc_sva end) as sva_2016,
sum(case when msd_yea = 2017 then msc_sva end) as sva_2017,
sum(case when msd_yea = 2018 then msc_sva end) as sva_2018,
sum(case when msd_yea = 2019 then msc_sva end) as sva_2019
from msdfc00
where msd_fco = 'KF' and msd_mon = '11'
) m;
参见:选择0作为2016年增值税,选择sva_2017-sva_2016*100/sva_2016作为2017年增值税,选择sva_2018-sva_2016*100/sva_2016作为2018年增值税。。从中选择msd_yea=2016时的sumcase,然后msd_sva结束为sva_2016;msd_yea=2017时的sumcase,然后msd_sva结束为sva_2017;msd_yea=2018时的sumcase,然后msd_sva结束为sva_2018,如果msd_yea=2019,则msd_sva从msdfc00终止为sva_2019,其中msd_fco='KF'和msd_mon='11'm;无效列sva_2017thank you@Gordon Linoff。。我收到一个错误,显示无效列..@Gopipuli。列名取自您的问题,尽管可能有拼写错误。感谢Gordon Linoff,我刚刚将查询拆分为两个选项卡,它会给出结果。我不是一个问题专家。谢谢你抽出宝贵的时间。如果时间允许,我现在还需要一个帮助,上面的结果是按行显示的,是否按列显示?这是年度专栏吗?@Gopipuli。我不完全理解你在评论中的要求。你能问另一个问题吗,用样本数据和期望的结果来确保解释清楚?