[英]Mysql select query with group based on two column
I have a table as follows Contrib我有一张如下表
'Id ward_id Goods Amount
1. 2 beans 2 bags
2. 2 Maize 30 bags
3. 4 Beans 5 bags
4. 4 Maize 26 bags
5. 2 Beans 40 bags
6. 4 Maize 1 bags '
I created a select query我创建了一个 select 查询
Select ward_id,goods,sum(amount) as amount group by goods and ward_id;
The query is not working查询不工作
My desired results is我想要的结果是
Contrib贡献
'Id ward_id Goods Amount
1. 2 beans 42 bags
2. 2 Maize 56 bags
3. 4 Beans 45 bags
4. 4 Maize 26 bags
Where is my problem我的问题在哪里
You had it almost right, but the corerect syntax in myslq is你几乎是对的,但 myslq 中的 corerect 语法是
Select ward_id,goods,sum(amount) as amount
FROM Contrib
group by goods,ward_id
ORDEr By ward_id;
Schema (MySQL v5.7)架构(MySQL v5.7)
CREATE TABLE Contrib (
`Id` INTEGER,
`ward_id` INTEGER,
`Goods` VARCHAR(5),
`Amount` INTEGER
);
INSERT INTO Contrib
(`Id`, `ward_id`, `Goods`, `Amount`)
VALUES
('1', '2', 'beans', '2'),
('2', '2', 'Maize', '30'),
('3', '4', 'Beans', '5'),
('4', '4', 'Maize', '26'),
('5', '2', 'Beans', '40'),
('6', '4', 'Maize', '1');
Query #1查询 #1
Select ward_id,goods,sum(amount) as amount
FROM Contrib
group by goods,ward_id
ORDEr By ward_id;
| ward_id | goods | amount |
| ------- | ----- | ------ |
| 2 | beans | 42 |
| 2 | Maize | 30 |
| 4 | Maize | 27 |
| 4 | Beans | 5 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.