2012-04-07 68 views
0

我有应用程序的网站在线销售应用程序online.on主页我想根据他们已下载的次数显示前10位产品。我试图从sql server中获取产品ID数据库2008.但查询大小增加,当我从高下载计数值转到较低的值。因为我在一个查询中获取一个产品ID,所以总共10个查询前10名应用程序。在sql server 2008中选择最多10个值

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

我有表名为product.It有两个字段product_id,purchase_count.i想要获得10个产品ID谁拥有最高的download_count值。

+1

欢迎计算器。当问题经常被低估时,通常表明他们被视为“免费代码”。这是*不是那种类型的网站。如果您发布代码并简要说明结果与您需要的不同之处,您将得到更好的回复(并且减少投票)。如果代码不起作用,请不要担心。发布它可以帮助我们证明你已经付出了一些努力来解决问题,而不只是要求别人为你写代码。这也有助于我们更好地理解问题。 – Leigh 2012-04-07 18:34:22

回答

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; 
+1

非常感谢你habib.osu ...我一直在尝试它,因为早晨.. – kalpesh 2012-04-07 15:29:06

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; 
+0

非常感谢你 – kalpesh 2012-04-07 15:28:17

+0

欢迎@kalpesh 这个问题应该有助于你理解,如何标记答案为“的”答案: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work。 – Mez 2012-04-07 15:47:05