求一个sql。。。。

cb1156 2015-01-23 10:13:15
如下结果集

id cid order
1 1 1
1 2 2
1 3 3
2 4 3
2 5 3
2 6 3

想得到的结果
每个id只需要一条记录 取最大的order
如果最大的order有多条记录 取最大的cid
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2015-01-23
  • 打赏
  • 举报
回复
写法一样,把其他字段都加进来
select id,
MAX(CID) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID) cid,
MAX(ORDER) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID)  order,
MAX(字段1) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID)  字段1,
MAX(字段2) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID)  字段2,
MAX(字段3) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID)  字段3
……
from T
group by id
cb1156 2015-01-23
  • 打赏
  • 举报
回复
已解决。谢谢。
cb1156 2015-01-23
  • 打赏
  • 举报
回复
那个。。结果集里还有很多字段 非常抱歉没完全说出需求。。。
bw555 2015-01-23
  • 打赏
  • 举报
回复
select id,
MAX(CID) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID) cid,
MAX(ORDER) KEEP(DENSE_RANK LAST ORDER BY ORDER,CID,ROWID)  order
from T
group by id

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧