[50分]菜鸟--简单--问题急用在线等!

mimideshi 2004-04-07 04:01:12
刚刚接触数据库,皮毛不通,谢谢帮忙
---------------------------------------------------------------
为了需要我已经检索导下列数据(其中一部分)
ta_id userro_id fnmac_id ta_result ta_appflag ta_role prj_id
.....................................
8 3243 64 0 16 804
9 3244 65 0 26 804
10 3245 66 0 14 804
11 3386 66 0 14 838
12 3529 64 0 16 868
13 3530 65 0 26 868
14 3531 66 0 14 868
......................................
我需要的是所有prj_id(prj_id不要重复,条件是选择prj_id相同的时候要对应fnmc_id最大的那一行的一些信息以及fnmc_id第二大的时候的一些信息

我需要这些信息做下一步的处理
...全文
86 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangli_zhang 2004-04-09
  • 打赏
  • 举报
回复
select ta_id,userro_id,fnmac_id,ta_result,ta_appflag,ta_role,prj_id
from tab a where (a.fnmac_id) in (select b.fnmac_id from tab b where b.prj_id = a.prj_id and rownum <=2 order by b.fnmac_id desc)
snowy_howe 2004-04-09
  • 打赏
  • 举报
回复
select aa.* from (select row_number() over(partition by prj_id order by fnmac_id desc) as rn,
prj_id,fnmac_id,... from tab where ....) aa
where rn <= 2;
mimideshi 2004-04-09
  • 打赏
  • 举报
回复
真的要等这么多天吗?
mimideshi 2004-04-09
  • 打赏
  • 举报
回复
算了,结贴另开张吧,问题比这复杂的多,谢谢
mimideshi 2004-04-09
  • 打赏
  • 举报
回复
上面是其中一部分
mimideshi 2004-04-09
  • 打赏
  • 举报
回复
我头大自己写了一个,也能实现,不知道,这样有没有不合理的地方
select max(fnmc_id),prjid from tab group by prjid
请大家指教,谢谢楼上两位,大家参与都会有回报的

17,377

社区成员

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

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