目录

源数据表

解决方案

在排序结果中查找指定记录的技巧


源数据表

姓名 语文 数学 英语
何艳 94 62 80
何冬梅 86 64 93
冯晨 90 64 74
彭勤 77 67 89
叶倩 63 68 83
曾德昌 90 69 93
曹乾刚 70 69 84
雷小露 79 70 79
余佳丽 93 71 99
赵林 78 71 77
邓明昊 81 72 87
邱志娟 84 74 87
马琴 63 74 76
王清秀 84 75 87
李晓斌 99 75 96
王川洪 89 76 71
肖妤翊 70 82 76
程飞娥 73 83 94
孙双米 76 83 98
张玲 85 83 93
周榕珍 70 84 76
刘芙蓉 90 84 74
王亚坤 70 84 71
柴俊 84 84 74
随婷婷 69 85 79
文森 76 87 85
李明 93 87 94
欧仁寿 90 90 85
王清容 97 91 80
罗秀丽 73 91 98
杨永艳 72 91 86
姚鹏 90 93 74
卢思彤 100 94 79
何刚 80 96 77
刘华平 84 96 74
马晓冬 95 99 98
尹玫 84 100 87
李金龙 81 100 99

如图所示为某次考试的成绩单,要求从3门成绩总分前10名的同学中找出语文成靖最差的3名同学。

解决方案

SELECT TOP 3 * FROM [sheet1$]
WHERE 姓名 IN(SELECT TOP 10 姓名 FROM [sheet1$] ORDER BY 语文+数学+英语 DESC)
ORDER BY 语文 ASC

在排序结果中查找指定记录的技巧

ORDER BY子句可以对多字段的数据进行排序,但是对于本例,却无法直接通过多字段排序得到想要的结果,如下列语句:

SELECT TOP 3 *
FROM [sheet1$]
ORDER BY 语文+数学+英语 DESC,语文 ASC

原因在于:当对总分进行排序后,SQL查询会以总分排序结果作为基础,再对语文进行排序。只有当总分成绩相同时,SQL查询才会再次对总分成绩相同的记录进行语文字段的排序。
但是其排名仍然按照总分从大到小进行排序,即便添加了语文关键字后,上述语句的最终结果仍然是总分前3名的同学,却无法得到总分前10名中语文成绩最差的3名同学。
    因而本例的实现必须通过一个中间结果,先利用TOP谓词和排序语句找出总分前10名的同学名单。接着利用WHERE条件子句的IN运算符对“成绩单”中总分前10名的同学进行语文成绩的排序。
    因而,首先利用下列语句找出总分前10名的同学:

SELECT TOP 10 姓名
FROM [sheet1$]
ORDER BY 语文+数学+英语 DESC

然后利用WHERE条件子句的IN运算符将总分前10名的同学筛选出来。
    最后,在上述语句的基础上对“语文”字段进行升序排列后,利用TOP谓词取得记录的前3条,即可得到总分前10名中语文成绩最差的3名同学。

Excel 2010 SQL应用088 在排序结果中查找指定记录相关推荐

  1. Excel 2010 SQL应用086 随机排序

    目录 源数据表 解决方案 随机排序技巧 伪随机数概念 源数据表 学号 姓名 1000980 罗大吴 1002128 罗文 1000881 张汶 1001511 吴小丽 1004831 柳生风 1001 ...

  2. Excel 2010 SQL应用092 聚合函数之不重复之记录数

    目录 源数据表 解决方案 DISTINCT+COUNT统计不重复的记录数 源数据表 下单日期 订单号 简码 订单数量 2010/4/27 3143 5-950 5067 2010/5/30 3207 ...

  3. Excel 2010 VBA 入门 048 批量替换文本中的指定字符(replayce函数和方法)

    目录 示例: 实现代码 Replace函数 单元格对象的Replace方法 使用Replace方法实现代码 示例: 如图所示,该表为某公司商品编码.由于商品目录升级,现商品编码中以"GXGY ...

  4. 算法----- 在排序数组中查找元素的第一个和最后一个位置

    题目: 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置.你的算法时间复杂度必须是 O(log ...

  5. LeetCode-剑指 Offer 53 - I. 在排序数组中查找数字 I

    剑指 Offer 53 - I. 在排序数组中查找数字 I 思路一:二分单边 + 线性扫描 先用一次二分查找找到边界,再再边界里面寻找目标值 class Solution {public:int se ...

  6. python 在排序数组中查找元素的第一个和最后一个位置

    在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置.如果数组中不存在目标值 target,返回 ...

  7. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置

    前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...

  8. 6、leetcode34 在排序数组中查找元素的第一个位置和最后一个位置**

    leetcode34 在排序数组中查找元素的第一个位置和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 如果数组中不存 ...

  9. leetcode(34)在排序数组中查找元素的第一个和最后一个位置

    在排序数组中查找元素的第一个和最后一个位置 class Solution {public int[] searchRange(int[] nums, int target) {int len = nu ...

最新文章

  1. 在云中进行灾难恢复的五种有效方式
  2. servlet的的生命周期和使用
  3. javascript基础整理
  4. 遗传算法系统辨识matlab程序,8.8 基于遗传算法的机械手参数辨识 系统辨识理论及Matlab仿真课件.ppt...
  5. kettle优化抽取数据速度_数据异构工具介绍
  6. 太赞了!开源下载机器学习经典书 PRML所有相关资料:中文译本,官方代码,课程视频,学习笔记...
  7. js或css文件后面的参数是什么意思?
  8. [转]在ROS下使用zeroconf配置多机通信
  9. nginx 413 Request Entity Too Large
  10. 【GPU加速系列】PyCUDA(一):上手简单操作
  11. MVVM架构之自动增删改的极简RecycleView的实现
  12. 更换map的遍历顺序优先级_树的级别顺序遍历或宽度优先遍历
  13. abb变频器acs880说明书_ABB变频器ACS880-104/ACS880-204/ACS880-304产品参数及功能介绍
  14. java json serialize_java-是否可以简化@JsonSerialize注释?
  15. 计算机硬盘序列号有什么意义,硬盘序列号会/为什么会改变
  16. 群辉安装linux软件下载,群晖系统Synology DSM安装ipkg包管理和套件安装方法
  17. 全国计算机软件专业二本大学排名,2017全国二本大学专业排名
  18. R语言绘制bivariate polar plots
  19. RS485,uart串口加瑞芬68协议
  20. ncverilog脚本_NcVerilog_工作学习记录.pdf

热门文章

  1. 18.webpack4之HMR
  2. 渗透一条龙服务(极速版)
  3. 金蝶插件、以及常用方法、
  4. 输入5个数字从小到大排序
  5. httrack网站镜像
  6. 如何在照片上涂鸦写字?分享几种照片涂鸦方法
  7. 数据仓库分层设计(基于Hive)
  8. 西游记中为什么观世音菩萨没有梳妆就来降服灵感大王?
  9. 华为发布5G天线白皮书,提出三大重要产业趋势【附下载】
  10. 线程和进程一--并发和并行