我目前正試圖從我的MSSQL數據庫中獲得最受歡迎的productID。這是該表的樣子(只要一點虛數據):SQL需要獲得最受歡迎的產品也取決於數量
的OrderItems:
+--+-------+--------+---------+
|ID|OrderID|Quantity|ProductID|
+--+-------+--------+---------+
| 1| 1| 1| 1|
| 2| 1| 1| 2|
| 3| 2| 1| 1|
| 4| 2| 50| 2|
OrderID字段可以忽略不計,但我需要找到這個表,排序最流行的產品ID的他們的發生頻率。結果集應該是這個樣子:
+--------+
|PoductID|
+--------+
| 2|
| 1|
由於產品ID 2有51總量,它需要走出第一,其次是產品ID 1只具有2
總量(注:查詢必須兼容回到MSSQL-2008)
太棒了,像魅力一樣工作。我們使用數量,但是我們使用ORDER BY Count(*)而不是SUM(數量)。沒有期望SUM以這種方式行事..它會讓我接受答案 – JakeJ
集合函數應用於由group by子句定義的每個組:) –