我想创建一个计算多个数学公式的语句。然后转换数据。
select szallito_nev, extract(month from beerkezes_datuma) as honap,
((sum(levonas_nedvesseg_miatt)/sum(merlegelt_suly))*100) as sdf
from 2013_backup GROUP BY szallito_nev,month(beerkezes_datuma);
Company name month value
A.K.S.D. VÁROSGAZDÁLKODÁSI KFT 1 1.542938202451533
A.K.S.D. VÁROSGAZDÁLKODÁSI KFT 2 2.085091455775495
A.K.S.D. VÁROSGAZDÁLKODÁSI KFT 3 3.7353360231161536
A.K.S.D. VÁROSGAZDÁLKODÁSI KFT 4 1.979149061085067
如果我这样做,它会很好地工作,但它会垂直显示摘要,我想将其转换为水平的,所以我尝试了这个:
select szallito_nev,
(case extract(month from beerkezes_datuma) when '1' then ((sum(levonas_nedvesseg_miatt)/sum(merlegelt_suly))*100) else 0 end) as 'H1'
from 2013_backup group by szallito_nev with rollup
company name Januar
A.K.S.D. VÁROSGAZDÁLKODÁSI KFT 0
A.S.A. MAGYARORSZÁG KFT. 0
ASCO HUNGARIA KFT 0
但在此之后我得到了不同的结果。
最佳答案
我会告诉你一个想法-
SELECT
szallito_nev,
SUM(IF(month = 1, VALUE, NULL)) Jan,
SUM(IF(month = 2, VALUE, NULL)) Feb,
SUM(IF(month = 3, VALUE, NULL)) Mar,
SUM(IF(month = 4, VALUE, NULL)) Apr
FROM
-- this is a place for your subquery
(SELECT szallito_nev...) t
GROUP BY
szallito_nev
关于mysql - 在 case 循环 mysql 中创建多个数学语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19806278/