MySQL 合并两个表和其中一个表中的两列的查询
MySQL query that combines two tables and two columns in one of the tables
我正在尝试编写一个 SQL 查询,它结合了两个表和其中一个表中的两列。所以,我有两个表
Table: Items
ID Material Shape
1 glass jar
2 plastic bottle
3 cardboard box
4 glass bottle
Table: Diary
ItemID UserID Quantity
2 1 1
1 1 3
3 1 2
2 1 5
4 1 1
预期输出,其中 UserID = 1
(按 combined quantity
排序):
Combined column values Combined quantity
plastic bottle 6
glass jar 3
cardboard box 2
glass bottle 1
有人能告诉我正确的方法吗?
我认为这只是 join
和 group by
:
select concat_ws(' ', i.material, i.shape) as combined,
sum(d.quantity) as combined_quantity
from items i left join
diary d
on d.itemId = i.id
group by combined
order by combined_quantity desc;
查询
select Material+SPACE(1)+ SHAPE [Combined column values ],
SUM(QUANTITY) [Combined quantity]
from Items
left join diary on Items.itemiD = diary.itemID
GROUP BY ITEMS.itemiD, Material, SHAPE
输出
我正在尝试编写一个 SQL 查询,它结合了两个表和其中一个表中的两列。所以,我有两个表
Table: Items
ID Material Shape
1 glass jar
2 plastic bottle
3 cardboard box
4 glass bottle
Table: Diary
ItemID UserID Quantity
2 1 1
1 1 3
3 1 2
2 1 5
4 1 1
预期输出,其中 UserID = 1
(按 combined quantity
排序):
Combined column values Combined quantity
plastic bottle 6
glass jar 3
cardboard box 2
glass bottle 1
有人能告诉我正确的方法吗?
我认为这只是 join
和 group by
:
select concat_ws(' ', i.material, i.shape) as combined,
sum(d.quantity) as combined_quantity
from items i left join
diary d
on d.itemId = i.id
group by combined
order by combined_quantity desc;
查询
select Material+SPACE(1)+ SHAPE [Combined column values ],
SUM(QUANTITY) [Combined quantity]
from Items
left join diary on Items.itemiD = diary.itemID
GROUP BY ITEMS.itemiD, Material, SHAPE
输出