2013-02-28 49 views
1

我在SQL Server 2012中有一個非規範化表,其中包含Windows應用商店中公開可用的數據。每個條目是一個應用程序,和我的表(Apps)看起來像這樣(簡化):如何獲得SQL結果的發生頻率?

Id 
StoreId 
Name 
Publisher 
MainCategory 
SubCategory 
Rating 
AmountofRatings 

我想現在查詢是每個出版商的應用量的出現頻率的列表。硬德形容,所以這裏有一個例子:

我想知道有多少出版商都在店裏10級的應用程序,有多少 出版商都在店裏,等等,等等

20個應用程序我嘗試了所有不同類型的查詢(包括GROUP BY中的子查詢),但我無法弄清楚如何獲取這些數據。誰能幫我?

回答

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 
+0

謝謝,輝煌:) – 2013-02-28 14:55:49

+0

@LeonCullens。 。 。謝謝。我很可能平均每週使用一次這種結構的查詢,時間很長。非常有用的構造。 – 2013-02-28 14:58:13