如何在SQL中获得10个最高计数?

时间:2014-12-29 04:07:13

标签: sql sql-server

我希望得到< product_id'许多用户在SQL中被评级。但我的代码无效。

这是我的SQL代码。

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

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

  1. 1 akar.user@com
  2. 1 abc.user@com
  3. 10 pqr.user@com
  4. 10 ijk.user@com
  5. 10 akar.user@com
  6. 根据以上数据,product_id = 10应该作为第一个值,因为它是许多用户被评级的最高值。

3 个答案:

答案 0 :(得分:1)

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

select top 10 product_id, count(*)
from request_list
group by product_id
order by count(*) desc

答案 1 :(得分:0)

SELECT TOP 10 * FROM request_list ORDER BY product_id DESC;

答案 2 :(得分:0)

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

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