3

PHP/MySQL の経験はあまりありません。以下に示すようidに、particular、 、 の3 つのフィールドを持つテーブルがあります。amount

id   particular   amount
1    Fees         5000
2    Fees         3000
3    Bill         9000
4    Fees         4000
5    Bill         3000
6    Expense      2000
7    Fees         1000

次のように、グループ内のデータと、個々のグループの合計を表示したいと思います。

particular   amount
Fees         5000
Fees         3000
Fees         4000
Fees         1000
**Total        13000**
Bill         9000
Bill         3000
**Total        12000**
Expense      2000
**Total        2000**

このクエリSELECT SUM(amount), particular FROM sale_expense GROUP BY particularを試してみると、すべての値が追加されましたが、データを表示する必要があるため、グループに表示されません

4

4 に答える 4

3
SELECT particular, id, sum(amount) amount
FROM TableName
GROUP BY particular, id WITH ROLLUP

フィドル

于 2012-12-05T17:19:27.800 に答える
2

このSQLを試してください:

SELECT 特定、SUM(金額) AS 合計 FROM テーブル名 GROUP BY 特定

これにより、各グループの合計が得られます。
更新:これを試してください

$sql = "SELECT specific, SUM(amount) AS total FROM tablename GROUP BY specific";
$result = mysql_query($sql);
while($row = mysql_fetch_array( $result )){
    $sql2 = "SELECT * FROM tablename WHERE specific = '".$row['particular']."'";
    $result2 = mysql_query($sql2);
    while($row2 = mysql_fetch_array( $result2 )){
        $row2['特定'] をエコーし​​ます。" ".$row['金額'];
        エコー "\n";
    }
    echo " Totol: ".$row['total']." ";
}

于 2012-12-05T17:03:33.743 に答える
0

これを試して:

( SELECT 
    particular, 
    amount  
  FROM sale_expense )
UNION
( SELECT 
    CONCAT(particular," - total") AS particular, 
    SUM(amount) AS amount 
  FROM sale_expense
  GROUP BY particular )
ORDER BY particular ASC
于 2012-12-05T17:14:50.427 に答える
0

クエリを結合できます。

select particular, amount
from ((select id, particular, amount
       from sales_expense se
      ) union all
      (select 99999 as id, concat('Total: ', particular), sum(amount) as amount
       from sales_expense se
       group by particular
      )
     ) t
group by particular
order by id
于 2012-12-05T17:13:02.640 に答える