取一行多列数据中的最大值
取某一列多行的最大值我们可以直接使用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最大的分数就可以了。
- /***测试数据***/
- if object_id('[tb]') is not null drop table [tb]
- go
- create table [tb]([学生号] int,[语文] int,[数学] int,[英语] int,[物理] int,[化学] int)
- insert [tb]
- select 1001,89,98,87,63,70 union all
- select 1002,81,87,79,97,87 union all
- select 1003,65,86,65,87,84 union all
- select 1004,87,82,89,84,76 union all
- select 1005,76,76,87,79,75 union all
- select 1006,90,68,67,94,90 union all
- select 1007,56,65,86,69,77 union all
- select 1008,78,100,83,86,93
- /***查询***/
- select
- 学生号,
- 语文,
- 数学,
- 英语,
- 物理,
- 化学,
- (select max(t.a) from (select 语文 as a union select 数学 union select 英语 union select 物理 union select 化学) t) as [最高分],
- (select min(t.a) from (select 语文 as a union select 数学 union select 英语 union select 物理 union select 化学) t) as [最低分]
- from tb
- /***结果***/
- 学生号 语文 数学 英语 物理 化学 最高分 最低分
- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
- 1001 89 98 87 63 70 98 63
- 1002 81 87 79 97 87 97 79
- 1003 65 86 65 87 84 87 65
- 1004 87 82 89 84 76 89 76
- 1005 76 76 87 79 75 87 75
- 1006 90 68 67 94 90 94 67
- 1007 56 65 86 69 77 86 56
- 1008 78 100 83 86 93 100 78
- (所影响的行数为 8 行)
转载于:https://www.cnblogs.com/sgwz850/articles/1417237.html
取一行多列数据中的最大值相关推荐
- xlsx表格怎么筛选重复数据_excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法...
excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置 ...
- 在 DataFrame 多列数据中模糊查找匹配数据
先了解一个 DataFrame 筛选数据的方式 import pandas as pd# 创建 DataFrame df = pd.DataFrame(data = [[True, False, Fa ...
- 计算机算最大值如何操作,Excel表格中如何通过函数判断数据中的最大值
Excel表格中如何通过函数判断数据中的最大值 腾讯视频/爱奇艺/优酷/外卖 充值4折起 Excel是我们常用的一款数据处理软件,深受大家的欢迎,是我们学习办公的助手,有的朋友想知道怎么通过函数判断数 ...
- excel多列多行堆叠成多列一行,(excel把一行多列数据转成几行几列的表格)excel多列数据合并成一列...
怎么将excel中两列转换成多行多列 在G1 H1中分入或复制粘列公 =INDEX(A:A,INT(ROW(A4)/4)) =INDIRECT(ADDRESS(INT(ROW(A4)/4),MOD(R ...
- 多种方法实现从Excel表格的两列数据中提取不重复(唯一)值
在Excel表格中有两列数据如何提取不重复值,即从两列中提取不重复(唯一)值,本文指将两列中所有相同行的两个单元格数据连接后去掉重复项.大家可以看到在下图的A.B两列中,有部分行两个单元格中的数据相同 ...
- Excel 中如何找出两列数据中不重复的记录
现在有两列数据,要在 A 列中找出 B 列中没有的记录,在 B 列中找出 A 列中没有的记录.现在和大家分享一下这个方法. 我们先用一个简单的例子看一下.现在有两列数据,可以是分别在不同的数据单(sh ...
- 键盘录入多个数据,以0结束,要求在控制台输出所有数据中的最大值(ArrayList集合)
思路:将录入的多个数据存储到ArrayList集合中,创建长度为集合大小的数组,将集合转为数组,然后对数组排序,这样数组中最后一位就是所有数据中的最大值. 完整代码如下: import java.ut ...
- 键盘录入三个整数,并将三个数据中的最大值打印在控制台
package cn.zxj.com; import java.util.Scanner; public class Demo { public static void main(String[] a ...
- EXCEL中筛选一列数据中所包含的某些数字,返回它前面的序号
EXCEL中筛选一列数据中包含某些数字.返回它前面的序号.(0x040403为要含的数字) 思想是将所要查找的内容替换为一串很长的字符串,用长度区分它们 在C2单元格中键入 =IF(LEN(SUBST ...
- 求一列数据中的波峰_数据分析实践入门(四):数据运算
作者 | CDA数据分析师 进行到这一步就可以开始正式的烹饪了.前面我们列举了不同纬度的分析指标,这一章我们主要看看这些指标都是怎么计算出来的. 一.算术运算 算术运算就是基本的加减乘除,在Excel ...
最新文章
- oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法
- opencv 白平衡
- bootsrap+jquery+组件项目引入文件的常见报错
- 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
- PHP盈亏问题,小升初数学必考经典应用题—盈亏问题!(附经典例题分析)
- 创建hugo博客_Hugo + Firebase:如何在几分钟内免费创建自己的静态网站
- Oracle命令--为数据文件缩容
- 转岗测试工作三年经验总结(前端开发转测试)
- retrievefile文件字节为0_linux环境下下 FTPClient.retrieveFile() 下载稍大一点的文件就卡死了-问答-阿里云开发者社区-阿里云...
- 系统架构师考试经验分享
- 豪越智慧后勤解决方案(教育/高校)
- 十字消除 - Cocos2d-x 2.0.1
- 2021-02-14马克思主义概论
- linux 编辑 iso文件格式,这两款实用的光盘映像文件制作编辑软件让你处理ISO文件易如反掌...
- 做得好 vs 做得快?
- 广东省内免费试用 | 医院绩效考核病案首页系统,解决医院上报难题的智能助手
- [Java]-单例模式与volatile简介
- 【软考软件评测师】第三十三章 数据库系统应用
- 前缀树是什么 前缀树的使用场景
- 修改Docker默认安装路径
热门文章
- HDU 3072 (强连通分量)
- 创建3层的服务模板 (2)--- App-V package 和 Application Profile
- android 应用程序Activity之间数据传递与共享的几种途径
- UVa 483 - Word Scramble
- Express框架学习笔记-app.locals对象
- windows server 2016安装weblogic
- java非静态内部类子类的调用_Java嵌套类和内部类详解
- python实现k-shell复杂网络_企业网络结构复杂,如何高效、简单实现异地组网?...
- python info什么意思_python中log info 是什么文件
- 图片涂改了怎么给复原_图片马赛克怎么去掉 怎么去除马赛克方法介绍