所以我正在使用SQL Server,其中有两列名为City和人口。如何找到人口最多的城市的名称(在语法上)?我听说SQL Server与MySQL有点不同。
当前代码:
[
{
"key1ey1": "Value1\r"
},
{
"key2": "value2"
},
{
"key3": "value3\r"
},
{
"key4": "value4"
}
]
答案 0 :(得分:2)
在这种情况下,T-SQL和MySQL之间的代码非常相似。
还有其他可行的方法,但是根据您已经编写的代码,这可能是最容易理解的方法。
select
city,
population
from
city
where
population = (
select max(population) from city
)
答案 1 :(得分:2)
您可以在SQL Server中使用max(population) over (order by population desc)
语法(不要忽略别名(此处是q
)内部查询):
SELECT city
FROM
(SELECT MAX(population) OVER (ORDER BY population desc) max_pop, *
FROM city) q
WHERE population = q.max_pop;
答案 2 :(得分:1)
您需要在子查询中找到最大人口,然后找到具有该人口的所有城市:
select city
from my_table
where population = (
select max(population) from my_table
)
在两个城市共享最大人口的(罕见)情况下,此查询还将为您提供多个城市。
答案 3 :(得分:1)
您可以按人口降序对记录进行排序,然后仅选择第一条记录:
SELECT TOP 1 City FROM t
ORDER BY Population DESC