简体   繁体   English

2个总和的PHP

[英]Sum of 2 sums php

I need help with Sum of 2 sum numbers. 我需要2个总和的求和。 Well I have table where showing user sum numbers. 好吧,我有表格显示用户的总和。 At end of table I need to make row which showing sum of all numbers. 在表格的末尾,我需要进行显示所有数字之和的行。

Table: 表:

表

So on blue row I need sum of all numbers up. 因此,在蓝色行上,我需要所有数字的总和。 My code: 我的代码:

 $groupQuery =
    "SELECT r.broj_rac AS racun, COUNT(stavka) AS stavka, d.naziv1 AS dobavljac, SUM(iznos_osnovica) AS osnovica, SUM(iznos_porez) AS porez, SUM(moze_se_odbiti) AS odbiti, SUM(nemoze_se_odbiti) AS neodbiti, SUM(neoporezivo) AS neoporezivo, SUM(ukupno) AS ukupno1, r.sveukupno AS sveukupno 
    FROM racuni AS r
    LEFT JOIN dobavljaci AS d
    ON d.sifra = r.dobavljac
    WHERE partner = '".$_SESSION['sifra_partnera']."'
    GROUP by broj_rac";

Is it possible to make something like SUM(SUM(ukupno AS ukupno1) AS ukupno2) ? 是否可以制作类似SUM(SUM(ukupno AS ukupno1) AS ukupno2)

Looks like you want to add a total row, rather than sum columns as other answers are suggesting, so something like this should work if you just want to include a row which totals the osnovica and porez values: 看起来您想要添加总计行,而不是像其他答案所建议的那样对列求和,因此,如果您只想包含总计osnovicaporez值的行,则osnovica porez

$groupQuery =
    SELECT  r.broj_rac AS racun, 
            COUNT(stavka) AS stavka, 
            d.naziv1 AS dobavljac, 
            SUM(iznos_osnovica) AS osnovica, 
            SUM(iznos_porez) AS porez, 
            SUM(moze_se_odbiti) AS odbiti, 
            SUM(nemoze_se_odbiti) AS neodbiti, 
            SUM(neoporezivo) AS neoporezivo, 
            SUM(ukupno) AS ukupno1, 
            r.sveukupno AS sveukupno 
    FROM racuni AS r
    LEFT JOIN dobavljaci AS d
    ON d.sifra = r.dobavljac
    WHERE partner = '".$_SESSION['sifra_partnera']."'
    GROUP by broj_rac

    UNION

    SELECT  'TOTAL' AS racun, 
            '' AS stavka, 
            '' AS dobavljac, 
            SUM(iznos_osnovica) AS osnovica, 
            SUM(iznos_porez) AS porez, 
            '' AS odbiti, 
            '' AS neodbiti, 
            '' AS neoporezivo, 
            '' AS ukupno1, 
            '' AS sveukupno 
    FROM racuni AS r
    LEFT JOIN dobavljaci AS d
    ON d.sifra = r.dobavljac
    WHERE partner = '".$_SESSION['sifra_partnera']."'"

In the second half of the UNION , you could also perform aggregate functions on any other fields you wished to summarise in the total row, for example SUM(ukupno) AS ukupno1 or AVG(ukupno) AS ukupno1 if you wanted the total sum or average of ukupno respectively. UNION AVG(ukupno) AS ukupno1如果希望总和或平均值,还可以对希望在总计行中汇总的任何其他字段执行汇总函数,例如SUM(ukupno) AS ukupno1AVG(ukupno) AS ukupno1 ukupno

Try the following query 尝试以下查询

SELECT 
(
    SUM(COL_1)
  + SUM(COL_2)
  + SUM(COL_3)
) as `Total` 
FROM TABLE_NAME 

You can do 你可以做

SELECT 
   Val1,
   Val2,
   Val3,
   (Val1 + Val2 + Val3) as 'Total'
FROM MyTable

or if you just want one row: 或者,如果您只想要一行:

SELECT 
   SUM(Val1) as 'Val1',
   SUM(Val2) as 'Val2',
   SUM(Val3) as 'Val3',
   (SUM(Val1) + SUM(Val2) + SUM(Val3)) as 'Total'
FROM MyTable

Try the following query 尝试以下查询

SELECT 
    (
        SUM(COL_1)
      + SUM(COL_2)
      + SUM(COL_3)
    ) as `Total` 
FROM TABLE_NAME 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM