2017-01-13 17 views
1

2つの総和の和でヘルプが必要です。 私はテーブルのどこにユーザーの合計数を表示しています。 テーブルの最後に、すべての数値の合計を示す行を作成する必要があります。2つの和の和PHPの

表:

Table

だから、青の行に私はすべての番号までの合計を必要とします。 マイコード:

$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"; 

はそれがSUM(SUM(ukupno AS ukupno1) AS ukupno2)のようなものを作ることは可能ですか?

+0

を試してみてください? – RamRaider

+0

@RamRaiderわかりません、私はそれをPHPに変更する必要がありますか? – proofzy

+1

はい、これらのデータを既に処理している行を表示している場合、コードの集計はこれらの大量のクエリよりもずっと少なくなるためです。 SQLエンジンは計算機ではありません:) –

答えて

2

を試してみては、ルックス他の回答が示唆しているように列を合計するのではなく、行whi chがosnovicaporez値を合計:

$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']."'" 

UNIONの後半では、あなたも、あなたが望んでいた場合などSUM(ukupno) AS ukupno1AVG(ukupno) AS ukupno1ため、合計行にまとめることを望んだ、他の分野に集約関数を実行することができ合計合計または平均はそれぞれukupnoです。 PHPでの様々な最終和の計算を処理していない理由を

0

あなたは

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

を行うことができますか、あなただけの1行たい場合:あなたは、全行を追加するよう

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

私は同じものを取得していません – proofzy

0

次のクエリ

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

は、次のクエリ

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