oracle over应用! 在线等

给力地板油 2012-04-10 03:01:08
分组中取最大的值(max) 并取这个最大的值的ID 一起显示出来


select max(V4MAXSPEED),ID from t_anerecord group by atid


在这个基础上怎么改呢 请思路
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
larrychen_bmw 2012-04-10
  • 打赏
  • 举报
回复
“分组中取最大的值(max) 并取这个最大的值的ID 一起显示出来”

理解起来是要找t_anerecord 中最大值的那行记录啊,


select V4MAXSPEED, id
from (select V4MAXSPEED, ID from t_anerecord order by V4MAXSPEED desc)
where rownum = 1
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
select max(V4MAXSPEED) over(partition by atid order by V4MAXSPEED desc), ID from t_anerecord group by atid


为什么不是 group by 语句呢 如何在分组的基础上 找出最大值和 该最大值这行的信息呢
[/Quote]

partition by也是分组 这个相当于group by

2L的结果应该是对的 可以参考下 分组倒序排列取第一个 就是每组的最大值

给力地板油 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
select max(V4MAXSPEED) over(partition by atid), ID from t_anerecord
[/Quote]


select max(V4MAXSPEED) over(partition by atid order by V4MAXSPEED desc), ID from t_anerecord group by atid


为什么不是 group by 语句呢 如何在分组的基础上 找出最大值和 该最大值这行的信息呢
xpingping 2012-04-10
  • 打赏
  • 举报
回复
select ID,V4MAXSPEED from (
select row_number()over(partition by atid order by V4MAXSPEED desc) rn,
ID,
V4MAXSPEED
from t_anerecord )
where rn=1


ssqtjffcu 2012-04-10
  • 打赏
  • 举报
回复
select max(V4MAXSPEED) over(partition by atid), ID from t_anerecord

17,377

社区成员

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

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