首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Server组按?

Server组按?
EN

Stack Overflow用户
提问于 2018-12-10 19:43:03
回答 1查看 57关注 0票数 1

我不知道该怎么提我的问题,所以最好举个例子。我正在寻找一个函数或语句,该函数或语句将从单个表中产生以下结果。对于每个名称,返回具有最大id的行。

代码语言:javascript
运行
复制
ID  NAME        ADDRESS

1   JOHN DOE    123 FAKE ST.
2   JOHN DOE    321 MAIN ST.
3   JOHN DOE    333 2ND AVE.
4   MARY JANE   222 1ST. AVE
5   MARY JANE   444 POPLAR ST.
6   SUZY JO     999 8TH AVE.

DESIRED RESULT

3   JOHN DOE    333 2ND AVE.
5   MARY JANE   444 POPLAR ST.
6   SUZY JO     999 8TH AVE.
EN

Stack Overflow用户

回答已采纳

发布于 2018-12-10 19:45:10

一个选项是使用row_number窗口函数。这允许您为结果集建立行号。然后,您可以在over子句中定义分组和排序,在本例中,您希望partition by (组) name字段和order by id字段降序。最后,过滤那些结果where rn = 1,它返回每个分组的最大结果。

代码语言:javascript
运行
复制
select * 
from (
    select *, row_number() over (partition by name order by id desc) rn
    from yourtable
) t
where rn = 1
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53712539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档