多表group by

juxie1984 2014-06-09 02:12:02
我需要从3个表里面取数据(A,B,C,D,E,F),然后以他们中的三个字段(A,B,C)分组,返回E值最大的数据。
...全文
271 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

select a,b,c,d,e,f from(
select t.a,t.b,t.c,t.d,t.e,t.f,row_number() over(partition by a,b,c order by e desc) rn from table_name t
) where rn = 1

--当然 table_name需你自己连接成表
卖水果的net 2014-07-03
  • 打赏
  • 举报
回复
三张表都是什么结构? 你大概贴一下。
dongzq0120 2014-07-02
  • 打赏
  • 举报
回复
表进行关联啊
善若止水 2014-06-09
  • 打赏
  • 举报
回复
说详细点,表与表之间是是怎么关联的?A,B,C,D,E分别对应的是哪个表?
小灰狼W 2014-06-09
  • 打赏
  • 举报
回复
连接好,用dense_rank()over()来排序,取出分组中E最大的 或者用 max()keep()配合group by 如果连接不是很复杂,我更喜欢not exists(select 1 from ... where a=t.a and b=t.b and c=t.c and e>t.e)的写法
magical_dragon 2014-06-09
  • 打赏
  • 举报
回复
A B C D E F 中有函数么?
wangnaisheng 2014-06-09
  • 打赏
  • 举报
回复
表机构是否相同?

17,377

社区成员

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

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