问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急求一题SQL的答案

发布网友 发布时间:2022-05-03 09:19

我来回答

3个回答

懂视网 时间:2022-05-03 13:40

题目

有如下一张表T

技术图片

 

想要得到如下结果:

技术图片

解释:T表中的Result列的第1行始终保持为1,后面的数据行=上一行的结果+上一行的NUM值,例如ID为2的Result为6=1+5,ID为3的Result为9=6+3,以此类推。
该如何写这个SQL?

 

读者可以试着自己思考写下,再往下翻... 如有不同解题方式,大家一起交流。

 

 

 

 

 

 

解答:

  • with递归的方式(oracle11g 支持with递归)
  • WITH T AS
    (SELECT 1 ID, 5 NUM
     FROM DUAL
    UNION ALL
    SELECT 2 ID, 3 NUM
     FROM DUAL
    UNION ALL
    SELECT 3 ID, 12 NUM
     FROM DUAL
    UNION ALL
    SELECT 4 ID, 2 NUM
     FROM DUAL
    UNION ALL
    SELECT 5 ID, 7 NUM
     FROM DUAL
    UNION ALL
    SELECT 6 ID, 9 NUM
     FROM DUAL),
     tt (id, num, result) as (
     select id,num,1 result from t where id=1
     union all
     select t.id ,t.num,tt.result+tt.num
     from tt,t
     where tt.id+1=t.id
     )
    select * from tt;

    ID   NUM   RESULT
    1   5   1
    2   3   6
    3   12   9
    4   2   21
    5   7   23
    6   9   30

     

     

    如有其它解题思路,欢迎一起交流学习。

    SQL每日一题(20200509)

    标签:ade   结果   https   white   思路   original   oracle数据库   sans   oracl   

    热心网友 时间:2022-05-03 10:48

    1)Select 存书.书名,存书.数量,销售.金额 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号
    (余额 ====应该是金额吧~~哪有什么余额)
    这就是一个内联查询
    2)Select Sum(金额) as 总销售额 From 销售
    聚合函数
    3)Select 存书.书名,销售.数量,Sum(销售.金额) As 合计金额 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号 Group by 销售.日期,存书.书号
    两次分组查询
    4)Select 存书.书名,存书.数量 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号 Where 销售.数量 > 100 and 销售.日期 >= dateadd(dd,-30,getdate()) group by 销售.数量 DESC
    内联查询、排序、日期函数(getdate()获取当前日期,dateadd()在某日期上加一或减去一定时间)

    再怎么也应该给点分吧~~~加分给我

    热心网友 时间:2022-05-03 12:06

    我没有直接用表名 ,你自己可以将 存书 ,销售,直接换成英文的表名, 字段 也可以换成列明
    1,select 存书.书名,销售.数量,销售.金额 from 存书 left join 销售 on 存书.书号 = 销售.书号
    2, select sum(数量*金额) from 销售
    3,select 存书.书名 as 书名,销售.数量 as 数量,销售.金额*销售.数量 as 合计金额 from 存书 left join 销售 on 存书.书号 = 销售.书号 where 销售.日期=当前你所需要日期
    4, select 存书.书名,销售.数量,销售.金额 from 存书 left join 销售 on 存书.书号 = 销售.书号 where 销售.数量>100 and 销售.日期> (根据自己的数据库 使用日期函数 ,确定30天前的日期 )
    数据库不同 日期处理的函数也不完全你相同,需要根据你自己使用的数据库来咯

    参考资料:sql

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 杉树被砍倒并堆放在一起,周公解梦 梦见松树砍倒冒油 梦见盆景松树被砍倒 梦见后山很多松树头被别人砍走了? 梦见有人砍倒古松树 何曼婷yy诋毁许嵩 求视频看何曼婷是怎么说的 劲舞貌似792888 784243 的步子 求一些经典的劲舞团经典8K舞步!~~~不要一套! 人参炖鸡汤的来源: 如何用人参炖鸡汤 劲舞团背舞步 人参可以炖鸡和鱿鱼吗 用人参炖鸡汤怎么做 人参炖鸡汤 武汉大学2011年在江苏的录取分数线是多少丫丫?还有那个选修两门学科的等级是什么丫丫???? 砂锅炖鸡大枣枸杞人参木耳土豆能一起放吗? cdr里面怎么把贝塞尔的箭头往上调 cdr贝塞尔画线为什么会变成箭头? 请问在corelDRAW 9中如何画箭头符号 CorelDRAW 12 如何画这个箭头,如何简单的复制。 JAVA验证字符和密码代码无错运行出错 盘点王祖蓝最新电影,【在线观看】免费百度云资源 求惠普win7家庭普通版升级到旗舰版密钥 windows 7 正版授权没了,激活也不行了! WIN7旗舰版怎么激活啊?郁闷的一B,使用期一到就整天黑屏。或者给我个WIN7产品密钥也可以,谢谢大家啦! 邯郸哪里办塔吊操作证 办理塔吊司机证今年什么时候报名 请问考塔吊司机要什么条件,怎么考 一加手机呼叫限制密码不知道怎么办 售后率计算公式 淘宝的售后率,退款笔数比总的订单笔数,总的订单笔数是指这个店铺的订单笔数还是整个淘宝的订单笔数? 电商售后率多少合理 售后产值占比怎么计算 什么是售后补差,售后补差率怎么算? 如何计算售后产品返修率 家具行业售后投诉率怎样来计算? SQL server数据库选择题求解,希望热心的朋友解答一下。 excel怎么利用函数公式算售后率与销量均达标的排名,且取前五做罚款减免? 现金发票作会计分录是记银行存款还是库存现金? SQL语句,怎样可以实现比如每日均值的查询?