首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在排序后从组中选择第一行

在排序后从组中选择第一行
EN

Stack Overflow用户
提问于 2018-09-06 17:53:12
回答 1查看 1.7K关注 0票数 2

我的桌子是这样的:

代码语言:javascript
复制
appl_db_srvr_xref_id  secrty_ctl_id assmt_dt  cmdb_id  secrty_ctl_elemnt_impmtn_cd
       180                 43       1/1/2018    227         N 
       180                 43       9/31/2018   227         Y
       179                 28       1/1/2018    710         N
       179                 29       2/2/2018    710         N
       179                 43       3/3/2018    710         N

我需要的是按日期进行分组(appl_db_srvr_xref_id、secrty_ctl_id和cmdb_id),并返回最新的行。因此,在这个例子中,我想返回:

代码语言:javascript
复制
180   43   227   Y
179   28   710   N
179   29   710   N
179   43   710   N

我想要的是:

代码语言:javascript
复制
SELECT secrty_ctl_id, 
       appl_db_srvr_xref_id, 
       cmdb_id, 
       assmt_dt 
 FROM tablename 
 GROUP BY 
       secrty_ctl_id, 
       appl_db_srvr_xref_id, 
       cmdb_id 
 ORDER BY assmt_dt desc
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-06 18:05:53

使用row_number()解析函数:

代码语言:javascript
复制
select
       secrty_ctl_id, 
       appl_db_srvr_xref_id, 
       cmdb_id, 
       assmt_dt
from
(
SELECT secrty_ctl_id, 
       appl_db_srvr_xref_id, 
       cmdb_id, 
       assmt_dt,
       row_number() over (partition by appl_db_srvr_xref_id, secrty_ctl_id, cmdb_id order by assmt_dt desc) rn
 FROM tablename 
 )s
where rn=1;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52209726

复制
相关文章

相似问题

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