0

一連のレコードがあり、グループ内のアイテム数に基づいてこれらのレコードを並べ替えたいと考えています。

下の画像はテーブルのスナップショットです

最大数のアイテムを持つ製品が一番上になるようにレコードを配置したい。つまり、必要な順序は、Product_ID 3 (6 アイテム)、次に Product_ID 1 (5 アイテム) で、最後が Product_ID になるようにします。 2 (3 アイテム)。

次のクエリは、同じ Product_ID を持つアイテムの数を返しますが、Item_Name、Item_Description、および Item_Number も配置する必要があります。

Select Product_ID, Count(*) from Product group by Product_ID order by Count(*) DESC

次のように別のクエリを試しましたが、望ましい結果が得られないというどこかで間違っていることはわかっており、可能な解決策は考えられません。

Select Product_ID, Item_Name, Item_Description, Item_Number from Product 
group by Product_ID,item_name,item_description,item_number 
order by COUNT(product_ID)

よろしくお願いします。

4

3 に答える 3

4
Select Product_ID, Item_Name, Item_Description, Item_Number
from Product 
order by COUNT(1) over (partition by Product_ID) desc
于 2013-07-25T21:33:00.663 に答える
0

エイリアスを使用してみてください:

Select Product_ID, Count(*) AS num_products from Product group by Product_ID order by num_products DESC;
于 2013-07-25T21:31:51.913 に答える