Oracle分组后取其中一条记录

leon51 2020-02-28 06:05:17
比如下面这张表,我要取出每个产品index最大的记录,SQL应该怎么写?
index最小的呢?谢谢

...全文
761 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
phuson 2020-03-09
忘了写表名了 select * from (select product_name,product_subname,row_number()over(partition by product_name order by index desc) px from tb where 条件) A where A.px=1 取最小,反desc改成asc
回复
leon51 2020-03-06
引用 2 楼 phuson 的回复:
取最大: select * from (select product_name,product_subname,row_number()over(partition by product_name order by index desc) px) A where A.px=1 取最小,反desc改成asc
感谢你的回复。 我没有在
select product_name,product_subname,row_number()over(partition by product_name order by index desc)
中看到表名?如果要加一个条件,比如product_name长度等于1,要怎么改呢?谢谢
回复
phuson 2020-03-02
取最大: select * from (select product_name,product_subname,row_number()over(partition by product_name order by index desc) px) A where A.px=1 取最小,反desc改成asc
回复
leon51 2020-02-29
取最大的index结果应该是: A Auf 3 B Bj 2 c Cy 4 取最小的index结果应该是: A A1c 1 B Bg 1 c Ck 1
回复
发动态
发帖子
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
社区公告
暂无公告