如何在mysql中没有group by子句的mysql中计算总计

问题描述 投票:0回答:1

我想在没有使用total的情况下得到一个列的盛大group by clause,因为我不想concat任何字符串。

我正在寻找这种期望的结果:

|  customer id | project name | Product Name | Quantity | price  | total    |
+--------------+--------------+--------------+----------+--------+----------+
|     9        |  xyz         |   ppn        |   2      |   2    |   4      |
+--------------+--------------+--------------+----------+--------+----------+
|    11        |    pqr       |    xxx       |    2     |   2    |    4     |
+--------------+--------------+--------------+----------+--------+----------+
|              |              |              |          |        |     8    |<=== Grand total  
+---------------------------------------------------------------------------+

这里是SQL小提琴:http://sqlfiddle.com/#!9/30fdd5/2

php mysql sql database
1个回答
3
投票

我认为这样做你想要的:

SELECT customer_id, project_name, product_name, quantity,
       price, quantity * price as total 
FROM project_expenses_data
UNION ALL
SELECT NULL, NULL, NULL, NULL, NULL, sum(quantity * price)
FROM project_expenses_data;

要100%清楚总计是结果集中的最后一行,请添加子句ORDER BY (customer_id IS NULL) ASC

© www.soinside.com 2019 - 2024. All rights reserved.