发现这种题对sql不成问题

发布于 2022-08-12 00:15:47 字数 133 浏览 9 评论 6

0912.jpg

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

柒七 2022-08-16 13:27:08

如果不要求 a,b,c 不同, 就可以像上面那样推理。

酒废 2022-08-16 07:20:23

喔,忘了个条件,a,b,c 要求不相同

SQL> with t as (select level n from dual connect by level <=9)

  2  select a,b,c,max_value

  3    from (

  4  select a.n a,b.n b,c.n c,

  5         max(1/(a.n+2019/(b.n+1/c.n))) over() max_value,

  6         rank () over( order by 1/(a.n+2019/(b.n+1/c.n)) desc) rk

  7    from t a,t b,t c

  8   where a.n <> b.n and b.n <> c.n and c.n <> a.n    --增加条件

  9  )

10  where rk = 1;

         A          B          C  MAX_VALUE

---------- ---------- ---------- ----------

         2          9          1 0.00490436

独自←快乐 2022-08-16 06:15:15

怎么知道a,c=1,2还是2,1分母更小?

满栀 2022-08-16 01:54:00

with a as (select level l from dual connect by level<=9)

select * from (

select  max(1/(a.l+2019/(b.l+1/c.l))) keep(dense_rank first order by 1/(a.l+2019/(b.l+1/c.l)) desc) value,

max(a.l||','||b.l||','||c.l) keep(dense_rank first order by 1/(a.l+2019/(b.l+1/c.l)) desc) key from a a,  a b, a c where

a.l<>b.l and b.l<>c.l

and a.l<>c.l) ;

value                                                                         key

0.004904364884747425208435507601765571358509        2,9,1

阳光①夏 2022-08-16 00:48:18

口算:1/(a+2019/(b+1/c)),要使得表达式的值最大,那分母要最小 a+2019/(b+1/c),a最小取1, 2019/(b+1/c)最小,那么 (b+1/c)要求最大,b最大9,1/c最大,C取最小,c=1

空宴 2022-08-15 01:20:05

小菜一碟

with t as (select level n from dual connect by level <=9)

select a,b,c,max_value

  from (

select a.n a,b.n b,c.n c,

       max(1/(a.n+2019/(b.n+1/c.n))) over() max_value,

       rank () over( order by 1/(a.n+2019/(b.n+1/c.n)) desc) rk

  from t a,t b,t c

)

where rk = 1

A     B       C      MAX_VALUE

1        9        1        0.00492853622474125

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文