• http://www.3697788.com
  • ITPUB论坛-中国最专业的IT技术社区

     找回密码
     注册
    查看: 568|回复: 6

    [SQL] 【求助】又忘了,这个SQL文,不知道该如何写了

    [复制链接]
    求职 : 数据库开发
    认证徽章
    论坛徽章:
    17
    马上有车
日期:2018-07-17 15:25:59马上有对象
日期:2018-07-17 15:25:59马上有房
日期:2018-07-17 15:25:59马上有钱
日期:2018-07-17 10:04:43马上加薪
日期:2018-07-17 15:26:00秀才
日期:2018-07-17 15:49:55
    跳转到指定楼层
    1#
    发表于 2018-1-15 15:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 DJQTDJ 于 2018-1-15 15:20 编辑

    表1
    No Name
    1  熊大
    2  熊二
    3  光头强
    4  蹦蹦
    5  萝卜头

    表2
    Name ExamNumber MathScore EnglishScore
       熊大 1 90 30
       熊大 2 95 30
       熊大 3 90 50
       熊大 4 100 10
       熊大 5 90 60
       熊二 1 50 50
       光头强 1 100 100
       蹦蹦 1 40 50
       蹦蹦 2 50 60
       萝卜头 1 30 20
       萝卜头 2 20 40
       萝卜头 3 50 50


    我想取得,每个人最后一次考试的成绩是多少,并把 表1 和 表2 整合成一张大表,变成下面这样
      No Name    ExamNumber  MathScore EnglishScore
    1 熊大 5 90 60
    2 熊二 1 50 50
    3 光头强 1 100 100
    4 蹦蹦 2 50 60
    5 萝卜头 3 50 50







    这个SQL文我应该怎么写呢??


    求职 : 数据库开发
    认证徽章
    论坛徽章:
    17
    马上有车
日期:2018-07-17 15:25:59马上有对象
日期:2018-07-17 15:25:59马上有房
日期:2018-07-17 15:25:59马上有钱
日期:2018-07-17 10:04:43马上加薪
日期:2018-07-17 15:26:00秀才
日期:2018-07-17 15:49:55
    2#
    发表于 2018-1-15 15:20 | 只看该作者
    不想用那种 联合查询 的
    论坛徽章:
    270
    秀才
日期:2018-07-17 14:32:17秀才
日期:2018-07-17 11:00:36秀才
日期:2018-07-17 11:04:31妮可·罗宾
日期:2018-07-17 16:26:01秀才
日期:2018-07-17 15:09:32射手座
日期:2018-07-17 14:02:50双子座
日期:2018-07-17 16:05:44白羊座
日期:2018-07-17 11:49:19金牛座
日期:2018-07-17 10:42:55双鱼座
日期:2018-07-17 17:13:05
    3#
    发表于 2018-1-15 17:53 | 只看该作者
    SQL> select t1.no, t1.name, examnumber, mathscore, englishscore
      2    from t1,
      3         (select name, examnumber, mathscore, englishscore
      4            from (select name,
      5                         examnumber,
      6                         mathscore,
      7                         englishscore,
      8                         max(examnumber) over(partition by name) max_examnumber
      9                    from t2)
    10           where max_examnumber = examnumber) t3
    11   where t1.name = t3.name
    12   order by 1
    13  /
                                         NO NAME                                                        EXAMNUMBER                               MATHSCORE                            ENGLISHSCORE
    --------------------------------------- ------------------------------ --------------------------------------- --------------------------------------- ---------------------------------------
                                          1 熊大                                                                 5                                      90                                      60
                                          2 熊二                                                                 1                                      50                                      50
                                          3 光头强                                                               1                                     100                                     100
                                          4 蹦蹦                                                                 2                                      50                                      60
                                          5 萝卜头                                                               3                                      50                                      50
    论坛徽章:
    20
    秀才
日期:2018-07-17 15:38:46秀才
日期:2018-07-17 15:05:41秀才
日期:2018-07-17 15:13:25秀才
日期:2018-07-17 15:17:54秀才
日期:2018-07-17 15:18:22秀才
日期:2018-07-17 15:18:22秀才
日期:2018-07-17 15:18:22秀才
日期:2018-07-17 15:18:22秀才
日期:2018-07-17 15:18:22秀才
日期:2018-07-17 15:05:41
    4#
    发表于 2018-1-15 19:43 | 只看该作者
    SELECT t1.no,
           t2.name,
           MAX(t2.examnumber),
           MAX(t2.mathscore) keep(dense_rank LAST ORDER BY t2.examnumber) math,
           MAX(t2.englishscore) keep(dense_rank LAST ORDER BY t2.examnumber) eng
      FROM t1, t2
    WHERE t1.name = t2.name
    GROUP BY t1.no, t2.name
    论坛徽章:
    395
    阿斯顿马丁
日期:2018-07-17 13:53:52马上有对象
日期:2018-07-17 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2018-07-17 08:25:55itpub13周年纪念徽章
日期:2018-07-17 10:55:55itpub13周年纪念徽章
日期:2018-07-17 15:27:22itpub13周年纪念徽章
日期:2018-07-17 12:04:18马上有钱
日期:2018-07-17 21:37:37马上有钱
日期:2018-07-17 00:39:13喜羊羊
日期:2018-07-17 22:26:07懒羊羊
日期:2018-07-17 22:03:31
    5#
    发表于 2018-1-16 08:58 | 只看该作者
    DJQTDJ 发表于 2018-1-15 15:20
    不想用那种 联合查询 的

    什么叫联合查询?
    认证徽章
    论坛徽章:
    6
    林肯
日期:2018-07-17 18:00:55优秀写手
日期:2018-07-17 06:00:14马上有对象
日期:2018-07-17 13:26:19懒羊羊
日期:2018-07-17 14:52:112015年新春福章
日期:2018-07-17 11:58:18秀才
日期:2018-07-17 15:09:38
    6#
    发表于 2018-1-16 10:03 | 只看该作者
    这个和之前的每日一题很像:http://www-itpub-net.bwp888.com/thread-2096275-1-1.html
    论坛徽章:
    395
    阿斯顿马丁
日期:2018-07-17 13:53:52马上有对象
日期:2018-07-17 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2018-07-17 08:25:55itpub13周年纪念徽章
日期:2018-07-17 10:55:55itpub13周年纪念徽章
日期:2018-07-17 15:27:22itpub13周年纪念徽章
日期:2018-07-17 12:04:18马上有钱
日期:2018-07-17 21:37:37马上有钱
日期:2018-07-17 00:39:13喜羊羊
日期:2018-07-17 22:26:07懒羊羊
日期:2018-07-17 22:03:31
    7#
    发表于 2018-1-16 13:24 | 只看该作者
    sse_zero 发表于 2018-1-16 10:03
    这个和之前的每日一题很像:http://www-itpub-net.bwp888.com/thread-2096275-1-1.html

    简单查询(仅仅使用过滤条件,不用连接、聚合、子查询等等)

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    -黄兴路周家嘴路论坛,黄兴路周家嘴路社区 - bbs-h12.bwp888.com
    DTCC2018购票6.8折优惠进行时

    中国数据库技术大会是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会。 2018年5月10-12日,第九届中国数据库技术大会将如约而至。本届大会以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨Oracle、MySQL、NoSQL、大数据等领域的前瞻性热点话题与技术。
    ----------------------------------------
    优惠时间:2018-07-17前

    报名链接>>
    嘉鱼县论坛 洣江乡论坛 黄陂区论坛 盐城论坛 莎车县论坛
    鸡西市论坛 黑山县论坛 沁水县论坛 延庆县论坛 河东论坛
    电子杂志 虎吧 老博客 读书频道 积分竞拍 文本模式 帮助
      IT博客
      ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
    CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
    京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
      
    快速回复 返回顶部 返回列表
    罗源县论坛 盘锦论坛 疏附县论坛 新都区论坛 北湖街道论坛
    桓台县论坛 葡京酒店论坛 龙子湖区论坛 鸡西市论坛 东山论坛