0

アプリケーションをオンラインで販売するアプリケーションの Web サイトを持っています。ダウンロード回数に基づいてトップ 10 の製品をホームページに表示したいと考えています。高いダウンロード数の値から低い値へ。1 つのクエリで 1 つの製品 ID をフェッチするため、上位 10 個のアプリケーションに対して合計 10 個のクエリを使用します。

トップ10のアプリケーションを簡単に取得する方法があるかどうか知りたいです。

product.id、purchase_count という 2 つのフィールドがあります。download_count の値が最も高い 10 個の製品 ID を取得したいと考えています。

4

2 に答える 2

3
select top 10 * from your_table order by douwnload_count DESC;

編集: product_id のみが必要なので:

select top 10 product_id from your_table order by download_count DESC;
于 2012-04-07T15:16:15.643 に答える
0

列「download_count」はどこに保存されていますか? 別のテーブルで?

その場合、そのテーブルへの内部結合を実行し、download_count 列で並べ替える必要があります。同じテーブルにある場合は、次のようなことができます。

select top 10 product_id,purchase_count from product.It order by purchase_count DESC;

別の表の場合は次のようになります。

select top 10 product_id,sum(download_count) as downloads 
from product.It as p
      inner join download.it as d on d.product_id= p.product_id
group by product_id
order by d.download_count DESC;
于 2012-04-07T15:24:01.553 に答える