我有下表
order_to_service(
id,
order_id,
service_id
);
service(
id,
name
);
我想要的是 - 从此表中选择最受欢迎的服务,我的查询:
select service_id ,count(order_id) from order_to_service group by service_id
我有以下输出:
6;9
4;124
1;40
2;37
现在我想将服务名称替换为服务名称以获得以下输出:
wash;9
wifi;124
pc;40
juice;37
如何更新我的第一个查询以获得此类输出?
答案 0 :(得分:2)
假设service
表格中包含name
列,那么简单连接应该有效:
select
s.name,
count(o.order_id)
from order_to_service o
inner join service s
on o.service_id = s.id
group by
o.service_id,
s.name;
我按服务ID和名称分组,因为名称可能不是唯一的。但是服务ID和名称的组合应该是唯一的。