SQL:Max Times Occurred Statement上的内部联接

时间:2016-03-01 20:03:41

标签: mysql sql join inner-join

提出一个问题:最常参加哪所学校?

我想出了以下声明......

select unitid, count(unitid) as 'Times_Occurred' 
from people 
group by unitid 
order by count(*) desc 
limit 50;

我限制了50,因为多个unitid有3。我有两个表,一个人员表和一个邮局表。它们由unitid连接。我试图找出如何进行内部联接以获得不仅排在前50位的最高单位,以及它们发生的频率,还有那些与这些Id一起出现的大学。

非常感谢任何和所有帮助!!

1 个答案:

答案 0 :(得分:1)

也许你的计数被夸大了,你不知道如何处理......这是一种使用内联视图的方法。这有效的原因是因为计数在加入之前计算并保留。因此,1-M基数不会对计数产生负面影响。

Select * 
from (
  select unitid, count(unitid) as 'Times_Occurred' 
  from people 
  group by unitid 
  order by count(*) desc 
  limit 50) A
INNER JOIN Post  B
  on A.UnitID = B.UnitID