目录

源数据表

解决方案

伪时间排序技巧

查找排名中间的记录的技巧

TOP谓词出现重复记录的查询规律


源数据表

姓名 比赛成绩
朱小林 11'6
卢思彤 12'4
余嘉 11'7
冯晨 12'5
杨永青 11'3
姚鹏 12'0
袁立仁 12'9
杨怡 12'2
欧仁寿 12'5
肖鹏 11'0
李金龙 12'2
叶青 11'2
张海 12'0
吕春生 12'6
柴俊 11'1
罗秀 9'9

如图所示为某次运动会百米赛跑比赛成绩表。使用SQL查询出第5~8名的运动员?

解决方案

SELECT TOP 4 姓名,比赛成绩
FROM [sheet1$]
WHERE 姓名 NOT IN(SELECT TOP 4 姓名FROM [sheet1$]ORDER BY REPLACE(比赛成绩,'''','.')*1)
ORDER BY REPLACE(比赛成绩,'''','.')*1

伪时间排序技巧

本例的实现首先要将非数字字段转换为数字字段。观察比赛成绩字段,要对其进行排序,应先比较单引号(’)之前的数字,然后再比较单引号之后的数字。此比较规则同小数相似,因而可以利用REPLACE函数将所有的单引号替换成小数点(输入单引号',其前须加入转义字符所以是四个单引号),从而将比赛成绩字段转换为小数形式的文本数字,再将此结果乘以1之后,即可将字段转换为数字类型。

查找排名中间的记录的技巧

在本例中需要保留的是第5~8名的运动员。利用TOP谓词只能够查询前N条记录,无法利用TOP实现第N~M条记录的查询,但是可以利用TOP N的结果对记录进行条件筛选。
    利用TOP谓词可以查找前4名的运动员,利用该查询结果结合WHERE子句中的IN运算符,可以在查询结果中排出前4名运动员。而第5~8名的运动员即在剩余的运动员中排前4名。
   本例之所以加上TOP4而不是TOP8,是因为SQL查询语句执行子句有先后顺序,排序子句在WHERE子句之后进行。

TOP谓词出现重复记录的查询规律

可以发现,本例最终的查找结果为5条记录,而非所需要的4条记录,原因在于查询结果中存在比赛成绩相同的记录。当采用ORDER子句对数据进行排序后,再利用TOP谓词选择数
据的前N条记录,只有当第N条记录在排序关键字恰有记录重复的情况下,会将这些重复的记录作为结果输出。如本例中,第8名恰有两名运动员的成绩相同,SQL查询将保留这两条记
录,但若第7名出现成绩相同的情形时,SQL查询会保留该相同的记录,而不会再保留第8名的成绩。

Excel 2010 SQL应用085 指定序号段查询相关推荐

  1. Excel 2010 SQL应用042 返回邮政机构所在行政区域

    目录 源数据表 解决方案 RIGHT函数 LEN函数 RIGHT函数与RIGHTB函数的区别 源数据表 序号 机构代码 机构名称 机构标记 邮政编码 所在地址 更新时间 1 10000713 北京邮政 ...

  2. Excel 2010 SQL应用088 在排序结果中查找指定记录

    目录 源数据表 解决方案 在排序结果中查找指定记录的技巧 源数据表 姓名 语文 数学 英语 何艳 94 62 80 何冬梅 86 64 93 冯晨 90 64 74 彭勤 77 67 89 叶倩 63 ...

  3. Excel 2010 SQL应用041 根据二代身份证号返回出生年份

    源数据表 序号 姓名 身份证号 1 黄有国 4526221968****1654 2 陈燕妮 4508811984****7447 3 张海波 4501051977****0019 4 王福英 450 ...

  4. Excel 2010 SQL应用103 域聚合函数之DLOOKUP

    目录 源数据表 解决方案 DLookup 方法(Access) 语法 参数 返回值 源数据表 序号 姓名 籍贯 联系电话 学历 职称 1 刘一山 山西 13985259702 本科 经济师 2 李建国 ...

  5. Excel 2010 SQL应用030 查询关键字

    目录 源数据表 解决方案 运用LIKE进行模糊匹配 模糊匹配中不确定长度的字符表示 源数据表 姓名 部门 入职日期 刘星 生产部 1992/10/4 罗大吴 生产部 2009/7/21 吴宏艳 行政管 ...

  6. Excel 2010 SQL应用097 聚合函数之方差或标准方差

    目录 源数据表 解决方案 VAR函数及VARP函数的使用 源数据表 姓名 口语成绩 黄惠 76 李向阳 90 柳青 84 黄燕凤 81 古学文 86 古凤冰 87 张初阳 82 候琳 85 龙维 83 ...

  7. Excel 2010 SQL应用055 SQL中使用三角函数

    目录 源数据表 解决方案 源数据表 序号 直角边长 角度值 1 115 60 2 40 60 3 65 64 4 25 56 5 65 40 6 50 83 7 45 50 8 115 50 9 75 ...

  8. Excel 2010 SQL应用038 以数值范围为条件的查询

    目录 源数据表 解决方案 字段的四则运算 日期与数字的关系和转换 源数据表 姓名 语文 数学 英语 刘静茹 85 90 90 何冬梅 75 85 71 王清容 70 76 80 程飞娥 64 57 6 ...

  9. Excel 2010 SQL应用028 查询空值

    目录 源数据表 解决方案 NULL值的判断 源数据表 计算机等级考试成绩清单 院系名称 学号 姓名 准考证号 报考语言 成绩 成人 C08211553105 刘静茹 4326000509 二级数据库 ...

最新文章

  1. 2022-2028年中国汽车雷达行业深度调研及投资前景预测报告
  2. 【骚气的动效】无限循环往下往复淡入淡出运动,通常用于向下箭头,提示用户可以往下滚动或者点击展开
  3. 掩码计算工具netmask
  4. kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
  5. 完全用链表实现的贪吃蛇
  6. 软件打开时间、窗体透明度、背景色---《用delphi开发共享软件》-15.1任务管理器...
  7. PostgreSQL学习笔记4之常用数据类型
  8. 机器学习笔记十一之降维
  9. LeetCode 37 解数独
  10. 【OpenCV】分离多通道图像RGB的值
  11. 使用EasyNVR无插件实时播放海康摄像机视频
  12. Excel自定义函数
  13. 西电2021计算机考研大纲,2021年西安电子科技大学硕士研究生833计算机学科专业基础综合考试大纲...
  14. 计算机中的CPU主频是单位,计算机CPU主频单位是MHz和GHz,他们之间怎么换算?
  15. Matlab 科研绘图汇总
  16. 笔记本ghostwin10系统后只有C盘了别的盘的数据怎样找到
  17. elasticsearch geo DSL 和API对比学习-矩形/多边形/距离/距离排序/距离分段聚合/geo_shape内含-相交-相离
  18. ZOJ 3587 Marlon#39;s String 扩展KMP
  19. 香八拉 北京 香山 八大处 防火通道
  20. 为什么他们不用996,却能做到“永不宕机”?

热门文章

  1. 去Java培训班真的有用吗?
  2. Windows10系统重装(U盘重装系统,以及自己踩过的坑)
  3. nginx进行token验证
  4. 题目 1602: 蓝桥杯算法训练VIP-乘积最大
  5. Java 集合之 SortedSet 和 SortedMap
  6. Redis哨兵机制原理详解
  7. Python接口自动化数据驱动方式
  8. 2013云计算架构师峰会随笔
  9. 时域特征提取MATLAB,强大的时间序列多特征提取工具介绍
  10. 有哪些国内最好的危机公关公司?