查看: 5092|回复: 6

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

[复制链接]
求职 : 数据库开发
认证徽章
论坛徽章:
17
马上有车
日期:2015-08-24 15:25:59马上有钱
日期:2015-07-31 10:04:43马上有房
日期:2015-08-24 15:25:59马上有对象
日期:2015-08-24 15:25:59马上加薪
日期:2015-08-24 15:26:00秀才
日期:2015-10-19 15:49:55
发表于 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
马上有车
日期:2015-08-24 15:25:59马上有钱
日期:2015-07-31 10:04:43马上有房
日期:2015-08-24 15:25:59马上有对象
日期:2015-08-24 15:25:59马上加薪
日期:2015-08-24 15:26:00秀才
日期:2015-10-19 15:49:55
发表于 2018-1-15 15:20 | 显示全部楼层
不想用那种 联合查询 的

使用道具 举报

回复
论坛徽章:
324
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:22海蓝宝石
日期:2012-02-20 19:24:27铁扇公主
日期:2012-02-21 15:03:13
发表于 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

使用道具 举报

回复
求职 : 数据库开发
论坛徽章:
24
秀才
日期:2017-08-11 15:38:46秀才
日期:2018-01-02 15:17:54秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22技术图书徽章
日期:2018-01-02 15:18:30秀才
日期:2018-03-01 10:05:18秀才
日期:2018-05-22 15:21:20
发表于 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

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2018-1-16 08:58 | 显示全部楼层
DJQTDJ 发表于 2018-1-15 15:20
不想用那种 联合查询 的

什么叫联合查询?

使用道具 举报

回复
认证徽章
论坛徽章:
34
林肯
日期:2013-07-30 18:00:55技术图书徽章
日期:2018-05-22 16:13:30秀才
日期:2018-05-22 16:13:30秀才
日期:2018-05-22 16:17:26秀才
日期:2018-07-23 13:38:29技术图书徽章
日期:2018-07-23 13:38:40秀才
日期:2018-07-23 13:38:40秀才
日期:2018-07-23 13:44:01秀才
日期:2018-08-31 10:37:01秀才
日期:2018-08-31 10:37:20
发表于 2018-1-16 10:03 | 显示全部楼层
这个和之前的每日一题很像:http://www.itpub.net/thread-2096275-1-1.html

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2018-1-16 13:24 | 显示全部楼层
sse_zero 发表于 2018-1-16 10:03
这个和之前的每日一题很像:http://www.itpub.net/thread-2096275-1-1.html

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

使用道具 举报

回复

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

本版积分规则 发表回复

【有奖讨论】解决存储挑战了解一下
奖品:米家车载空气净化器 、米家声波电动牙刷 、小米运动蓝牙耳机

在数字经济时代,井喷式增长的数据,在释放大量商业价值的同时,也随之对企业的IT基础设施带来了不容忽视的挑战!如何存储、管理、使用这些数据呢?这是一条比以往更艰难的路~

活动时间:9月20日-10月11日

参与讨论>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表