Mysql выберите запрос с группой на основе двух столбцов - PullRequest
1 голос
/ 25 апреля 2020

У меня есть следующая таблица 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 '

Я создал запрос на выборку

Select ward_id,goods,sum(amount) as amount group by goods and ward_id;

Запрос не работает

Мои желаемые результаты

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

Где моя проблема

1 Ответ

0 голосов
/ 25 апреля 2020

Вы поняли это почти правильно, но синтаксис corerect в myslq:

Select ward_id,goods,sum(amount) as amount 
FROM Contrib
group by goods,ward_id
ORDEr By ward_id;

Схема (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');

Запрос № 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      |

Просмотр на БД Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...