我想查找每個客戶購買的最頻繁的產品。我的數據集是這樣的:在sql server 2012中查找最頻繁的值
CustomerID ProdID FavouriteProduct
1 A ?
1 A ?
1 A ?
1 B ?
1 A ?
1 A ?
1 A ?
1 B ?
2 A ?
2 AN ?
2 G ?
2 C ?
2 C ?
2 F ?
2 D ?
2 C ?
有這麼多的產品,所以我不能把它們放在數據透視表中。
回答是這樣的:
CustomerID ProdID FavouriteProduct
1 A A
1 A A
1 A A
1 B A
1 A A
1 A A
1 A A
1 B A
2 A C
2 AN C
2 G C
2 C C
2 C C
2 F C
2 D C
2 C C
的查詢可能是這樣的:
Update table
set FavouriteProduct = (Select
CustomerID, Product, Max(Count(Product))
From Table
group by CustomerID, Product) FP
樞軸與此無關。首先計算出返回每個客戶最喜愛的產品的查詢。你快到了。然後我們可以幫助進行更新。 – 2015-02-08 12:21:03
@ Nick.McDermaid - 我知道,我剛纔說如果產品的數量是三到四個,我們可以通過數據透視表很容易地找到最喜歡的產品。但現在? – Ariox66 2015-02-08 12:28:19
轉到此頁面的底部http://www.sql-server-performance.com/2006/find-frequent-values/,看看您是否可以修改SQL以返回所有客戶使用他們最喜愛的產品的列表。 – 2015-02-08 12:31:44