Sql按列最高值选择不同的行

肖恩

我在尝试为每个城市名称选择一行时遇到问题。这是我得到的以下集合:

在此处输入图片说明

到目前为止,这是我的查询:

select pl.PlaceId,
       pl.Name,
       pop.NumberOfPeople,
       pop.Year
from dbo.Places pl
inner join dbo.Populations pop
    on pop.PlaceId = pl.PlaceId
where pop.NumberOfPeople >= 1000
and pop.NumberOfPeople <= 99999

我试图让它只选择一次城市,但使用最近的日期。所以在上图中,我只会看到 2016 年的 Abbeville 而不是 2015 年。我相信我需要执行 group by 或执行子查询来展平结果。如果有人对我如何处理这个问题有任何建议,将不胜感激。

游戏战争

假设您使用的是 SQLSERVER,则可以使用 Rownumber

;with cte
as
(select pl.PlaceId,
       pl.Name,
       pop.NumberOfPeople,
       pop.Year,
row_number() over(partition by pl.Name order by year desc) as rownum
from dbo.Places pl
inner join dbo.Populations pop
    on pop.PlaceId = pl.PlaceId
where pop.NumberOfPeople >= 1000
and pop.NumberOfPeople <= 99999
)
select * from cte where rownum=1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL选择唯一不同的最高值

来自分类Dev

仅选择特定列具有最高值的行

来自分类Dev

仅选择特定列具有最高值的行

来自分类Dev

SQL选择5个最高值

来自分类Dev

按最高值排序

来自分类Dev

选择具有最高值的行并返回行名

来自分类Dev

选择具有最高值的行,其中1列是唯一的

来自分类Dev

SQL Server-按最高值筛选

来自分类Dev

针对SQL中的每个记录选择最高值

来自分类Dev

如何根据多列选择最高值?

来自分类Dev

在 SQL 中查找具有最高值的行

来自分类Dev

查找矩阵中最高值的行和列索引

来自分类Dev

从多个值中选择最高值

来自分类Dev

选择列值最高的行

来自分类Dev

选择表格中的最高值

来自分类Dev

Spark选择RDD中的最高值

来自分类Dev

获取特定列中具有最高值的不同值

来自分类Dev

非#N / A列中的最高值

来自分类Dev

如何从Pandas DataFrame中的每个组中选择具有最高值的N行

来自分类Dev

比较和选择jquery中具有最高值的行

来自分类Dev

从SQL表中选择一个表的最高值

来自分类Dev

选择具有其他唯一列的特定记录的最高值?

来自分类Dev

在每个熊猫数据框行中查找最高值列的名称-包括绑定值

来自分类Dev

数组的最高值

来自分类Dev

按任何字段中的最高值排序

来自分类Dev

按嵌套列表的最高值对字典进行排序

来自分类Dev

按最高值对数组中的对象进行排序

来自分类Dev

按最高值映射两个字典

来自分类Dev

按数组和求和变量分组以查看最高值