2014-12-29 33 views
-1

我想获得SQL中用户数量最多的10个'product_id'最高值。但我的代码不起作用。如何在SQL中获得10个最高的计数?

这是我的SQL代码。

select top(10) product_id from request_list order by product_id DESC; 

以下是数据库中'request_list'表的一些数据。

  1. 1 [email protected]
  2. 1 [email protected]
  3. 10 [email protected]
  4. 10 [email protected]
  5. 10 [email protected]

根据上述数据,product_id = 10应该作为第一个值,因为它是许多用户评分的最高值。

+1

是您的产品ID只数或整个字符串? –

+0

@ shree.pat18它是一个字符串。 –

+3

好的,请为您正在使用的任何DBMS添加标签。 –

回答

1

我猜你想要的十大最频繁出现的产品

select top 10 product_id, count(*) 
from request_list 
group by product_id 
order by count(*) desc 
0
SELECT TOP 10 * FROM request_list ORDER BY product_id DESC; 
0

您的语法是Sql Server而不是Mysql。尝试这个。

SELECT TOP(10) product_id 
FROM request_list 
ORDER BY cast(LEFT(product_id, Charindex(' ', product_id)) as Int) DESC