取某一列多行的最大值我们可以直接使用max函数,但是如果取某一行多个列中最大值,则不能直接用max函数了,需要做一些转换(嗯,就是传说中的行列转换)

下表是一个学生成绩表,我们需要得到每个学生各科成绩中的最高分和最低分

----------- ----------- ----------- ----------- ----------- -----------
|学生号    | 语文      | 数学       | 英语      |  物理      |  化学   |    
----------- ----------- ----------- ----------- ----------- -----------
|1001      | 89        |   98      |    87     |     63     |     70   |
----------- ----------- ----------- ----------- ----------- -----------
|1002      |  81       |   87      |    79     |     97     |     87   |
----------- ----------- ----------- ----------- ----------- -----------
|1003      |  65       |   86      |    65     |     87     |     84   |
----------- ----------- ----------- ----------- ----------- -----------
|1004      |  87       |   82      |    89     |     84     |     76   |
----------- ----------- ----------- ----------- ----------- -----------
|1005      |  76       |   76      |    87     |     79     |     75   |
----------- ----------- ----------- ----------- ----------- -----------
|1006      |  90       |   68      |    67     |     94     |     90   |
----------- ----------- ----------- ----------- ----------- -----------
|1007      |  56       |   65      |    86     |     69     |     77   |
----------- ----------- ----------- ----------- ----------- -----------
|1008      |  78       |   100     |    83     |     86     |     93   |
----------- ----------- ----------- ----------- ----------- -----------

在这里,我们只需要把每个学生的各科成绩转为一列,然后再MAX最大的分数就可以了。

  1. /***测试数据***/
  2. if object_id('[tb]') is not null drop table [tb]
  3. go
  4. create table [tb]([学生号] int,[语文] int,[数学] int,[英语] int,[物理] int,[化学] int)
  5. insert [tb]
  6. select 1001,89,98,87,63,70 union all
  7. select 1002,81,87,79,97,87 union all
  8. select 1003,65,86,65,87,84 union all
  9. select 1004,87,82,89,84,76 union all
  10. select 1005,76,76,87,79,75 union all
  11. select 1006,90,68,67,94,90 union all
  12. select 1007,56,65,86,69,77 union all
  13. select 1008,78,100,83,86,93
  14. /***查询***/
  15. select
  16. 学生号,
  17. 语文,
  18. 数学,
  19. 英语,
  20. 物理,
  21. 化学,
  22. (select max(t.a) from (select 语文 as a union select 数学 union select 英语 union select 物理 union select 化学) t) as [最高分],
  23. (select min(t.a) from (select 语文 as a union select 数学 union select 英语 union select 物理 union select 化学) t) as [最低分]
  24. from tb
  25. /***结果***/
  26. 学生号      语文        数学         英语       物理       化学      最高分   最低分
  27. ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
  28. 1001        89          98          87          63          70          98          63
  29. 1002        81          87          79          97          87          97          79
  30. 1003        65          86          65          87          84          87          65
  31. 1004        87          82          89          84          76          89          76
  32. 1005        76          76          87          79          75          87          75
  33. 1006        90          68          67          94          90          94          67
  34. 1007        56          65          86          69          77          86          56
  35. 1008        78          100         83          86          93          100         78
  36. (所影响的行数为 8 行)

转载于:https://www.cnblogs.com/sgwz850/articles/1417237.html

取一行多列数据中的最大值相关推荐

  1. xlsx表格怎么筛选重复数据_excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法...

    excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置 ...

  2. 在 DataFrame 多列数据中模糊查找匹配数据

    先了解一个 DataFrame 筛选数据的方式 import pandas as pd# 创建 DataFrame df = pd.DataFrame(data = [[True, False, Fa ...

  3. 计算机算最大值如何操作,Excel表格中如何通过函数判断数据中的最大值

    Excel表格中如何通过函数判断数据中的最大值 腾讯视频/爱奇艺/优酷/外卖 充值4折起 Excel是我们常用的一款数据处理软件,深受大家的欢迎,是我们学习办公的助手,有的朋友想知道怎么通过函数判断数 ...

  4. excel多列多行堆叠成多列一行,(excel把一行多列数据转成几行几列的表格)excel多列数据合并成一列...

    怎么将excel中两列转换成多行多列 在G1 H1中分入或复制粘列公 =INDEX(A:A,INT(ROW(A4)/4)) =INDIRECT(ADDRESS(INT(ROW(A4)/4),MOD(R ...

  5. 多种方法实现从Excel表格的两列数据中提取不重复(唯一)值

    在Excel表格中有两列数据如何提取不重复值,即从两列中提取不重复(唯一)值,本文指将两列中所有相同行的两个单元格数据连接后去掉重复项.大家可以看到在下图的A.B两列中,有部分行两个单元格中的数据相同 ...

  6. Excel 中如何找出两列数据中不重复的记录

    现在有两列数据,要在 A 列中找出 B 列中没有的记录,在 B 列中找出 A 列中没有的记录.现在和大家分享一下这个方法. 我们先用一个简单的例子看一下.现在有两列数据,可以是分别在不同的数据单(sh ...

  7. 键盘录入多个数据,以0结束,要求在控制台输出所有数据中的最大值(ArrayList集合)

    思路:将录入的多个数据存储到ArrayList集合中,创建长度为集合大小的数组,将集合转为数组,然后对数组排序,这样数组中最后一位就是所有数据中的最大值. 完整代码如下: import java.ut ...

  8. 键盘录入三个整数,并将三个数据中的最大值打印在控制台

    package cn.zxj.com; import java.util.Scanner; public class Demo { public static void main(String[] a ...

  9. EXCEL中筛选一列数据中所包含的某些数字,返回它前面的序号

    EXCEL中筛选一列数据中包含某些数字.返回它前面的序号.(0x040403为要含的数字) 思想是将所要查找的内容替换为一串很长的字符串,用长度区分它们 在C2单元格中键入 =IF(LEN(SUBST ...

  10. 求一列数据中的波峰_数据分析实践入门(四):数据运算

    作者 | CDA数据分析师 进行到这一步就可以开始正式的烹饪了.前面我们列举了不同纬度的分析指标,这一章我们主要看看这些指标都是怎么计算出来的. 一.算术运算 算术运算就是基本的加减乘除,在Excel ...

最新文章

  1. oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法
  2. opencv 白平衡
  3. bootsrap+jquery+组件项目引入文件的常见报错
  4. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
  5. PHP盈亏问题,小升初数学必考经典应用题—盈亏问题!(附经典例题分析)
  6. 创建hugo博客_Hugo + Firebase:如何在几分钟内免费创建自己的静态网站
  7. Oracle命令--为数据文件缩容
  8. 转岗测试工作三年经验总结(前端开发转测试)
  9. retrievefile文件字节为0_linux环境下下 FTPClient.retrieveFile() 下载稍大一点的文件就卡死了-问答-阿里云开发者社区-阿里云...
  10. 系统架构师考试经验分享
  11. 豪越智慧后勤解决方案(教育/高校)
  12. 十字消除 - Cocos2d-x 2.0.1
  13. 2021-02-14马克思主义概论
  14. linux 编辑 iso文件格式,这两款实用的光盘映像文件制作编辑软件让你处理ISO文件易如反掌...
  15. 做得好 vs 做得快?
  16. 广东省内免费试用 | 医院绩效考核病案首页系统,解决医院上报难题的智能助手
  17. [Java]-单例模式与volatile简介
  18. 【软考软件评测师】第三十三章 数据库系统应用
  19. 前缀树是什么 前缀树的使用场景
  20. 修改Docker默认安装路径

热门文章

  1. HDU 3072 (强连通分量)
  2. 创建3层的服务模板 (2)--- App-V package 和 Application Profile
  3. android 应用程序Activity之间数据传递与共享的几种途径
  4. UVa 483 - Word Scramble
  5. Express框架学习笔记-app.locals对象
  6. windows server 2016安装weblogic
  7. java非静态内部类子类的调用_Java嵌套类和内部类详解
  8. python实现k-shell复杂网络_企业网络结构复杂,如何高效、简单实现异地组网?...
  9. python info什么意思_python中log info 是什么文件
  10. 图片涂改了怎么给复原_图片马赛克怎么去掉 怎么去除马赛克方法介绍