用SQL中的Count进行内部联接并按分组

时间:2019-02-27 22:12:36

标签: sql-server inner-join

我有这张叫做Equipos的表。

id  idType
1   1
3   2
4   3
5   4
6   4

这是我要与其内部连接的另一张表(带有说明或ID的目录)。

id  descripcion
1   Macbook
2   iMac
3   Dell Lap
4   Dell Lap OP

我想要类似

descripcion   count
Macbook       1
iMac          1
Dell Lap      1
Dell Lap OP   2

这是我到目前为止所做的。

select tipoId, count(tipoId) 
from Equipos eq 
group by tipoId 
inner join TipoEquipo tip on tip.id=eq.idType 

但无济于事。

2 个答案:

答案 0 :(得分:0)

这是基本的sql,按照正确的顺序放置join和group by,并按描述而不是id分组。

select tip.descripcion, count(*) as count
from Equipos eq 
inner join TipoEquipo tip on tip.id=eq.idType 
group by tip.descripcion 

答案 1 :(得分:0)

这确实是基本的sql,但是我更愿意使用左外部联接。

select tip.descripcion, count(eq.idType) 
from TipoEquipo tip  
   left outer join Equipos  eq on tip.id=eq.idType 
group by tip.descripcion