返回最频繁发生的事件

时间:2013-03-17 19:27:36

标签: sql ms-access

我正在使用MS Access 2010。

如果我有这样的表:

表1:

FirstName         LastName

  Alex              AAA
  Max               AAA
  Stewie            BBB
  Barney            BBB
  John              AAA

哪个查询可以返回最常用的LastName以及它出现的次数? 在这种情况下,它应该返回:

AAA      3

但如果LastName与频率相关(发生的时间相同),则应返回两者。

我搜索了网络和stackoverflow,虽然很多问题都很相似,但它们要么不能解决我的问题,要么用于另一种方言而不是SQL Server。

谢谢。

2 个答案:

答案 0 :(得分:2)

返回页首返回MS Access中的匹配项:

SELECT TOP 1 * 
FROM (SELECT names.LastName, Count(names.LastName) AS CountOfLastName
      FROM [names]
      GROUP BY names.LastName) a
ORDER BY CountOfLastName Desc

因此,当存在多个具有相同频率的行时,上述查询将返回多行。

答案 1 :(得分:1)

Select
   LastName,
   count (*) as HowManyTimes
from myTable
Group By LastName
Order By count(*)