帮我看看这个查询,总报错!!!

zhaoyongzhu 2002-08-22 11:15:05
SQL> (select pp from (select id as pp from test1 union all select p1 as pp from test1) order by pp d
esc)
2 minus
3 (select max(pp) as pp from (select id as pp from test1 union all select p1 as pp from test1));

(select pp from (select id as pp from test1 union all select p1 as pp from test1) order by pp desc)
*
ERROR at line 1:
ORA-00907: missing right parenthesis

我的本意是求id和p1的第二大值。
...全文
51 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoyongzhu 2002-08-22
  • 打赏
  • 举报
回复
看来是分给的少了。那就在开一贴吧。
jlandzpa 2002-08-22
  • 打赏
  • 举报
回复
你的语句等价于:
(select id as pp from test1
union all
select p1 as pp from test1)
minus
(select max(id) as pp from test1
union
select max(p1) as pp from test1);

但却不是求id和p1的第二大值。

zhaoyongzhu 2002-08-22
  • 打赏
  • 举报
回复
我不进行order by 怎么minus呀。
hdkkk 2002-08-22
  • 打赏
  • 举报
回复
minus完了再order by
zhaoyongzhu 2002-08-22
  • 打赏
  • 举报
回复
表结构为:
SQL> select * from test1;

ID ZYZ1 P1 DOCTIME
---------- ---------- ---------- ----------
1 dfdf 2
1 2 01-5ÔÂ -02
1 2 20-8ÔÂ -02
1 df0 2

求出的第二大值应该为2

17,377

社区成员

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

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