如何获得SQL结果的出现频率?

时间:2013-02-28 14:41:25

标签: sql sql-server sql-server-2012

我在SQL Server 2012中有一个非规范化表,其中包含来自Windows应用商店的公开数据。每个条目都是一个应用程序,我的表格(Apps)看起来像这样(简化):

Id
StoreId
Name
Publisher
MainCategory
SubCategory
Rating
AmountofRatings

我现在要查询的是每个发布商的应用数量的出现频率列表。很难描述,所以这是一个例子:

  

我想知道有多少发布商在商店中有10个应用,有多少个   出版商在商店中有20个应用程序等。

我尝试了所有不同类型的查询(包括GROUP BY中的子查询),但我无法弄清楚如何获取这些数据。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这是频率查询的频率:

select cnt, count(*), min(publisher), max(publisher)
from (select publisher, count(*) as cnt
      from t
      group by publisher
     ) t
group by cnt
order by 1