mysql取第二大_mysql – SQL:从一行列中获取第二大值
我担心,如果没有公用表表达式和/或窗口函数,并且不需要编写过程,这在MySQL中会变得非常冗长
SELECT t.id, t.val second_largest
-- unpivot your columns into a table
FROM (
SELECT id, col1 val FROM my_table UNION ALL
SELECT id, col2 FROM my_table UNION ALL
SELECT id, col3 FROM my_table UNION ALL
SELECT id, col4 FROM my_table UNION ALL
SELECT id, coln FROM my_table
) t
-- retain only those records, where there exists exactly one record with a
-- column value greater than any other column value with the same id
WHERE 1 = (
SELECT COUNT(*)
-- Here, use unions to be sure that every value appears exactly once
FROM (
SELECT id, col1 val FROM my_table UNION
SELECT id, col2 FROM my_table UNION
SELECT id, col3 FROM my_table UNION
SELECT id, col4 FROM my_table UNION
SELECT id, coln FROM my_table
) u
WHERE t.id = u.id
AND t.val < u.val
)
这是检查它的SQLFiddle(感谢bluefeet对于模式的单挑!).即使最大列值出现多次,上述解决方案也会在每一行中找到第二大列值.
mysql取第二大_mysql – SQL:从一行列中获取第二大值相关推荐
- cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- mysql 取第一条_MySQL索引底层(一)索引底层原理
微信公众号:Java患者 专注Java领域技术分享 MySQL索引底层原理 局部性与页 在操作系统中,我们执行一个指令去磁盘取数据,那么他会从磁盘取出4KB数据,这个4KB就是一个局部单位,而这4KB ...
- MySQL数据库锁构建_MySQL数据库InnoDB存储引擎中的锁机制
00 – 基本概念 当并发事务同时访问一个资源的时候,有可能导致数据不一致.因此需要一种致机制来将访问顺序化. 锁就是其中的一种机制.我们用商场的试衣间来做一个比喻.试衣间供许多消费者使用.因此可能有 ...
- mysql命令书写顺序_MySQL SQL语句书写顺序和执行顺序
SQL语句书写顺序和执行顺序 (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9 ...
- mysql 取年月日 语句_MySQL学习从这里出发!
MySQL数据库 开发学习中,想满足一些需求,无疑需要经常与数据打交道,例如,我们在使用IO的一些技术的时候,常常需要将一些数据存储到外部文件,可能大家会问,我们初学的时候常常会简单的保存一些数据到 ...
- mysql 42000 报错_MySQL SQL Error: 1064, SQLState: 42000 错误
你不小心使用了下面的关键字,那么就会报这个错误: SQL Error: 1064, SQLState: 42000 MySQL 关键字和保留字 下面这些是目前 MySQL 所拥有的关键字和保留字,在使 ...
- mysql 嵌套查询性能_mysql SQL优化之嵌套查询-遁地龙卷风
(-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...
- mysql 生成日历视图_mysql sql语句生成日历表
mysql sql语句生成日历表 (主要用于按月,按天group by分组统计时,有些日期没有记录,需要补0) 从自定义的开始时间,生成1万条记录 CREATE TABLE if not exist ...
- mysql 语句 简书_MySQL SQL语句
Mysql数据库:端口号3306,超级用户 root unsigned 正值 修改提示符:--prompt 提示符 常见定义 参数:\D 完整的日期 \d当前数据库 \h服务器名称 \u 当前用户 数 ...
- mysql查询显示技巧_MYSQL SQL高级查询技巧
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...
最新文章
- 关于ping telnet
- shell笔记之sed编辑器的基础用法(上)
- Android开发究竟该如何学习,重难点整理
- window7共享xp或者2003的文件设置
- 定价相关的主要用户出口
- GDCM:gdcm::VL 的测试程序
- 求到所有房子距离和最小的新房子
- jspstudy启动mysql失败_mysql启动失败的一个解决方法
- 目前能体验到的虚拟主播虚拟人脸形象有哪些?
- 导出Excel支持锁定表头
- 苹果logo_苹果 ARM Mac 发布会独特标志 Logo 亮相
- matlab拉丁方,基于拉丁方的流密码算法设计与仿真
- 40个常见的HTML5 面试问题及答案
- 如何在linux中备份文件
- php 5.3.29 nts,为什么PHP 5.3不在支持ISAPI,为什么还要分NTS和TS版本?
- 文思海辉php外派腾讯,文思海辉(外派腾讯)
- 微信小程序 删除服务器图片,微信小程序实现图片上传放大预览删除代码
- 线性代数笔记-线性空间和矩阵复习
- IDEA 本地调试spark程序 Exception in thread main java.lang.NoSuchMethodError: scala.collection.immutable.
- springboot 整合kafka 实现生产,消费数据
热门文章
- Thread中断的理解
- nginx 配置支持URL HTML5 History 模式 与 设置代理
- Ubuntu 16.04安装Markdown编辑器MarkMyWords
- UIAlertController中TextField的用法
- Scrapy入门程序点评
- 成为Oracle 10g DBA之路
- 随机森林的基分类器可否由决策树替换为线性分类器或者K-NN?
- java range注解_最全的Java Spring注解
- JavaJDBC异常记录:关于sql上能够正常执行的sql语句,在java中执行了但是返回结果不一致问题
- 启动虚拟机连接教程,连接教学,一级初级开发虚拟机中的简单指令