首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sql:仅从另一列中选择max、min、mid,其余为null

SQL是结构化查询语言(Structured Query Language)的缩写,是一种用于管理关系型数据库的标准化语言。它可以用于查询、插入、更新和删除数据库中的数据,以及创建和管理数据库对象(如表、视图、索引等)。在SQL中,可以使用聚合函数来从另一列中选择最大值(MAX)、最小值(MIN)和中间值(MID),而将其他值设为NULL。

聚合函数是SQL中用于对一组数据进行计算的函数。在这个问题中,我们可以使用MAX函数、MIN函数和自定义函数来实现从另一列中选择最大值、最小值和中间值的功能。

以下是一个示例的SQL查询语句,用于从另一列中选择最大值、最小值和中间值,将其他值设为NULL:

代码语言:txt
复制
SELECT 
  CASE 
    WHEN column_name = (SELECT MAX(column_name) FROM table_name) THEN column_name
    ELSE NULL
  END AS max_value,
  CASE 
    WHEN column_name = (SELECT MIN(column_name) FROM table_name) THEN column_name
    ELSE NULL
  END AS min_value,
  CASE 
    WHEN column_name = (SELECT column_name FROM table_name ORDER BY column_name LIMIT 1 OFFSET (SELECT COUNT(*) FROM table_name) / 2) THEN column_name
    ELSE NULL
  END AS mid_value
FROM table_name;

在上述查询语句中,column_name是要进行比较的列名,table_name是要查询的表名。通过子查询和CASE语句,我们可以根据最大值、最小值和中间值的条件来选择相应的值,并将其他值设为NULL。

对于这个问题,腾讯云提供了多个与SQL相关的产品和服务,例如:

  1. 云数据库 TencentDB:腾讯云提供的高性能、可扩展的云数据库服务,支持主流的关系型数据库引擎,如MySQL、SQL Server等。您可以使用TencentDB来存储和管理数据,并使用SQL语言进行查询和操作。了解更多信息,请访问TencentDB产品介绍
  2. 云数据库TDSQL:腾讯云提供的支持MySQL和PostgreSQL的分布式数据库服务,具有高可用性和弹性扩展能力。您可以使用TDSQL来处理大规模数据和高并发访问的场景。了解更多信息,请访问TDSQL产品介绍

请注意,以上只是腾讯云提供的一些与SQL相关的产品和服务,还有其他更多的选择可根据具体需求进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 一文读懂SQL的Aggregate(聚合) 函数和Scalar(标准)函数

    ​ 目录前言:一、SQL Aggregate 函数1、AVG() 函数2、count()函数3、MAX() 函数4、MIN() 函数5、SUM() 函数6、SQL GROUP BY 语法7、SQL HAVING...一、SQL Aggregate 函数SQL Aggregate 函数计算从取得的值,返回一个单一的值。...COUNT(column_name) 函数返回指定的值的数目(NULL 不计入)SELECT COUNT(column_name) FROM table_name;COUNT(*) 函数返回表的记录数...从 "Websites" 表的 "alexa" 获取最大值:SELECT MAX(alexa) AS max_alexa FROM Websites;4、MIN() 函数MIN() 函数返回指定的最小值...;3、SQL MID() 函数MID() 函数用于从文本字段中提取字符从 "Websites" 表的 "name" 中提取前 4 个字符:SELECT MID(name,1,4) AS ShortTitleFROM

    19910

    大白话讲解Mysql执行计划

    其余union(extraunion result是union去掉重复值的临时表) 5.7开始union all不会出现union result,因为不去重 subquery 不是用在from后面的...from xxx where b = ''; 即联合索引前导不在where条件,且查询在索引 在聚合运算group by后面的在索引或者primary key,且查询也在索引 all...依赖较大 mysql大小超过767个字节,无法生成auto_key convert(xxx,数据类型,字符集) 1.6 key sql用到的索引 1.7 key_len 显示sql到底使用了多少索引...列上只能含有驱动表的字段 使用straight_join hint可以强制改变驱动表 select tables optimized away 查询只有minmax的时候出现,有时候count貌似也会出现...联合主键,其中任一一个字段用等值查询,查出另一个字段的minmax,且不能包含group by Using filesort order by, group by且没使用索引 8.0 group by

    89610

    Mysql查询及高级知识整理(上)

    = mgr.eid; 聚合函数 l AVG(【DISTINCT】 expr) 返回expr的平均值 l COUNT(【DISTINCT】 expr)返回expr的非NULL值的数目 l MIN...Group By 语句 在SELECT 列表中所有未包含在组函数都应该是包含在 GROUP BY 子句中的 测试验证 -- ---------------------------- --...会提示name字段不在Group By ;但要注意生产数据库不一定设置此项,默认为Null; 正确SQL: 分析:先找出表中最大年龄,作为临时表,再联查 SELECT *FROM mytbl2 m...:频繁作为查询条件的字段 什么情况不需要索引:经常update的字段 SQL性能分析 复杂业务,一条SQL不单要达到准确性,还要考虑性能,通过查询时间,查询表数量等等去衡量。...目的:查看是否使用了索引 使用了哪些索引 物理扫描表行数 SQL书写能力是工作不可或缺的,一条好的SQL可以节省代码,提高性能,不断的锻炼,书写各种场景SQL,才能提升能力

    81140

    常用排序算法总结

    if (A[j] < A[min]) // 找出未排序序列的最小值 { min = j; }...使用选择排序数字进行排序的宏观过程: ? 选择排序是不稳定的排序算法,不稳定发生在最小元素与A[i]交换的时刻。...使用插入排序数字进行排序的宏观过程: ? 插入排序不适合对于数据量比较大的排序应用。 但是,如果需要排序的数据量很小,比如量级小于千,那么插入排序还是一个不错的选择。...插入排序在工业级库也有着广泛的应用,在STL的sort算法和stdlib的qsort算法,都将插入排序作为快速排序的补充,用于少量元素的排序(通常8个或以下)。...使用归并排序数字进行排序的宏观过程: ? 归并排序除了可以对数组进行排序,还可以高效的求出数组小和(即单调和)以及数组的逆序对,详见这篇博文。

    54730

    数据库查询常用语句语法

    如果省略,则MID()函数返回剩余文本 round(f,p)p1表示f有一位小数,-1表示小数点左边置0 case 可以对数据表进行多重筛选多重选择 CASE允许您在不同的条件下返回不同的值。...计算综合sum() 计数多少个 count() count(*) 可以统计所有的行数,包括null的行 count(1) 统计的是第一个子字段的行数,null的行数 不统计。...如果表格元素多,但只作用一个元素,可以外加一个count (distinct 元素),或者后面加一个group by 元素 max() 取最大值或者是最后最新的值 min() 取最小值或者是首次颁发的值...group by 分组表达式 指定 GROUP BY 时,先排序后分组,选择列表任一非聚合表达式内的所有都应包含在 GROUP BY 列表(没有群组函数都应该包含在group by)或者 GROUP...is not NULL COALESCE(x,y,z) = NULL if x and y and z are all NULL 子查询 select的查询可以当作是一个值,在另一个表查询 相等判断

    99830

    必学十大经典排序算法,看这篇就够了(附完整代码动图优质文章)(修订版)

    这种方法我们称之为选择排序。 方便理解我还准备了动图: ?...希尔排序的思想是采用插入排序的方法,先让数组任意间隔 h 的元素有序,刚开始 h 的大小可以是 h = n / 2,接着让 h = n / 4,让 h 一直缩小,当 h = 1 时,也就是此时数组任意间隔...我们是根据 max 的大小来创建对应大小的数组,假如原数组只有10个元素,并且最小值 min = 10000,最大值 max = 10005,那我们创建 10005 + 1 大小的数组不是很吃亏,最大值与最小值的差值...arr[i]; 14 } 15 int d = max - min + 1; 16 //创建大小max的临时数组 17 int[] temp =...arr[i]; 14 } 15 //和优化版本的计数排序一样,弄一个大小 min 的偏移值 16 int d = max - min; 17 /

    56540

    JDBC基础入门(2)

    ,其项目主页https://github.com/brettwooldridge/HikariCP,使用HikariCP需要在pom.xml添加如下依赖: <groupId...=20 pool.min.size=3 pool.init.size=10 pool.max.statements=180 pool.max.idle_time=60 pool.max.life_time...语句,但较为繁琐(除非不清楚SQL语句类型,否则不要使用execute方法).该方法返回值boolean,代表执行该SQL语句是否返回ResultSet,然后Statement提供了如下方法来获取SQL...语句,编译后的SQL模板被存储在PreparedStatement对象,每次使用时首先为SQL模板设值,然后执行该语句(因此使用PreparedStatement效率更高)....1 1 PreparedStatement也提供了excute等方法来执行SQL语句, 只是这些方法无须传入参数, 因为SQL语句已经存储在PreparedStatement对象.

    60570

    必学十大经典排序算法,看这篇就够了(附完整代码动图优质文章)

    这种方法我们称之为选择排序。 方便理解我还准备了动图: ?...希尔排序的思想是采用插入排序的方法,先让数组任意间隔 h 的元素有序,刚开始 h 的大小可以是 h = n / 2,接着让 h = n / 4,让 h 一直缩小,当 h = 1 时,也就是此时数组任意间隔...我们是根据 max 的大小来创建对应大小的数组,假如原数组只有10个元素,并且最小值 min = 10000,最大值 max = 10005,那我们创建 10005 + 1 大小的数组不是很吃亏,最大值与最小值的差值...arr[i]; 14 } 15 int d = max - min + 1; 16 //创建大小max的临时数组 17 int[] temp =...arr[i]; 14 } 15 //和优化版本的计数排序一样,弄一个大小 min 的偏移值 16 int d = max - min; 17 /

    62340
    领券