0

我有一个在线销售应用程序的应用程序网站。在主页上我想根据下载次数显示前 10 个产品。我试图从 sql server 数据库 2008 中获取产品 ID。但是当我去时查询大小会增加从高下载计数值到较低值。因为我在一次查询中获取一个产品 ID。所以前 10 名应用程序总共有 10 次查询。

所以我想知道是否有任何方法可以轻松获取前 10 名应用程序。

我有一个名为 product 的表。它有两个字段 product_id,purchase_count。我想获得 10 个具有最高 download_count 值的产品 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 回答