我正在开发一个需要复杂报告的应用程序。
Total Sales
Product | Quantity Sold |Total Amount
--------+---------------+------------
Coke | 10 |...
Pepsi | 2 |...
我的实际mysql表如下。表格名称为“sales”。
+---+----------+-------+------+--------+
|ID |ProductID |Name |Price |Quantity|
+---+----------+-------+------+--------+
| 1 | 1 |Coke | 45 | 2|
| 2 | 1 |Coke | 45 | 1|
| 3 | 3 |Pepsi | 50 | 1|
| 4 | 1 |Coke | 50 | 3|
| 5 | 3 |Pepsi | 50 | 1|
| 6 | 1 |Coke | 40 | 1|
| 7 | 1 |Coke | 45 | 3|
+---+----------+-------+------+--------+
我尝试了以下查询但未获得正确的结果。
SELECT DISTINCT
Name
AS Product, Price, SUM(Quantity) AS Quantity Sold
FROM sales GROUP BY Price;
这里同一产品的价格从一行变为另一行。并Name
。
任何帮助将不胜感激。提前致谢。
答案 0 :(得分:1)
product
中没有group by
。并且,在使用select distinct
时,您几乎不需要group by
。所以,试试这个:
SELECT Name AS Product, SUM(Quantity) AS QuantitySold, SUM(Quantity * Price) as TotalAmount
FROM sales
GROUP BY Name;
答案 1 :(得分:1)
Select Name as Product ,
Sum(quantity) as 'quantity sold',
Sum(quantity*price) as 'total amount'
Group by name;