需要在SQL类别中按前25名列出国家/地区

时间:2018-11-23 19:11:49

标签: sql sql-server list

我正在尝试按SQL的特定类别和年份列出前25名的国家/地区,但是我很难弄清楚该怎么做。

例如,我具有国家和经济自由类别。我想在2016年列出25个经济自由国家。我该怎么做?

国家是varchar,经济自由也是varchar例如。(3.60) 这是用于Microsoft Sql Server。

2 个答案:

答案 0 :(得分:0)

Select EconomicFreedom,count(*) from table group by EconomicFreedom having count(*) <=25 order by Countries desc;

  

分组依据是主要步骤

答案 1 :(得分:0)

听起来像您需要带有ORDER BY子句的常规SELECT TOP。请注意,您需要将经济自由度转换为数字数据类型,否则应将4> 10转换为数字数据类型,因为4>1。如果提供的信息也是如此,则应该是您的查询(如果Year也为列)。

SELECT TOP 25 [Country], [Economic freedom]
FROM Table
WHERE [Year] = 2016
ORDER BY CAST([Economic freedom] as float) DESC