mysql max over_max() over()
今天有人问max() over()的需求在mysql中怎么写。
同以前讲过的几个例子一样,虽然mysql中没有分析函数,可max() over()的方法一样很容易实现
max() over()
mysql> set @max_sal=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select if(@max_sal=0,@max_sal:=sal,@max_sal) as max_sal,sal from emp order by sal desc;
+---------+------+
| max_sal | sal |
+---------+------+
| 5000 | 5000 |
| 5000 | 3000 |
| 5000 | 3000 |
| 5000 | 2975 |
| 5000 | 2850 |
| 5000 | 2450 |
| 5000 | 1600 |
| 5000 | 1500 |
| 5000 | 1300 |
| 5000 | 1250 |
| 5000 | 1250 |
| 5000 | 1100 |
| 5000 | 950 |
| 5000 | 800 |
+---------+------+
14 rows in set (0.00 sec)
max() over(partition)
mysql> set @deptno=0,@max_sal=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @deptno,if(@deptno=deptno,@max_sal,@max_sal:=sal) as max_sal,deptno,sal,@deptno:=deptno from emp order by deptno,sal desc;
+---------+---------+--------+------+-----------------+
| @deptno | max_sal | deptno | sal | @deptno:=deptno |
+---------+---------+--------+------+-----------------+
| 0 | 5000 | 10 | 5000 | 10 |
| 10 | 5000 | 10 | 2450 | 10 |
| 10 | 5000 | 10 | 1300 | 10 |
| 10 | 3000 | 20 | 3000 | 20 |
| 20 | 3000 | 20 | 3000 | 20 |
| 20 | 3000 | 20 | 2975 | 20 |
| 20 | 3000 | 20 | 1100 | 20 |
| 20 | 3000 | 20 | 800 | 20 |
| 20 | 2850 | 30 | 2850 | 30 |
| 30 | 2850 | 30 | 1600 | 30 |
| 30 | 2850 | 30 | 1500 | 30 |
| 30 | 2850 | 30 | 1250 | 30 |
| 30 | 2850 | 30 | 1250 | 30 |
| 30 | 2850 | 30 | 950 | 30 |
+---------+---------+--------+------+-----------------+
14 rows in set (0.00 sec)
mysql max over_max() over()相关推荐
- MySQL max()函数
转载自 MySQL max()函数 MySQL MAX函数介绍 MySQL MAX()函数返回一组值中的最大值.MAX()函数在许多查询中非常方便,例如查找最大数量,最昂贵的产品以及客户的最大付款. ...
- mysql max和order by_mysql – 为什么MAX()比ORDER BY慢100倍… LIMIT 1?
我有一个表foo(在其他20个之中)列bar,baz和quux以及baz和quux上的索引.该表有~500k行. 为什么以下查询的速度差异如此之大?查询A需要0.3秒,而查询B需要28秒. 查询A. ...
- mysql max 命令大全_MySQL常用命令,34道练习题(持续更新中)。
1.使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE M ...
- mysql max嵌套select_使用嵌套select子式 解决mysql不能叠加使用如max(sum())的问题
网上也有解决方案 有的有瑕疵 有的较复杂(mysql没有分析函数,可以使用变量实现) select sumScoreValue,studentid,studentName from sc_studen ...
- mysql max where_MAX函数中的where子句mysql
您不能在同一查询的WHERE子句中引用聚合函数的结果(例如MAX()). 解决这种类型问题的规范模式是使用内联视图,如下所示: SELECT t.firstName , t.Lastname , t. ...
- mySQL MAX与sum 连用_mysql – 在sql脚本中一起使用sum和max
我已经更新了查询,但现在出现的错误是:SQL语法中有错误;检查与您的 MySQL服务器版本对应的手册,以便在'AS max_parameter_value附近使用正确的语法 来自第7行的tcs.par ...
- mysql max 获取另外值_来看看 MySQL 的这个 BUG,坑了多少人....
来源: cloud.tencent.com/developer/article/1367681 问题描述 近期,线上有个重要Mysql客户的表在从5.6升级到5.7后master上插入过程中出现&qu ...
- mysql max()函数和min函数
MAX()返回指定列的最大值.MAX要求指定列名. 对非数值数据使用MAX():虽然max()一般用来找出最大的数值或日期值,但mysql允许将它用来返回任意列中的最大值,包括返回文本列中的最大值.在 ...
- mysql max pool_asp.net连接mysql得到错误all pooled connections were in use and max pool size was reach...
asp.net连接mysql数据库时,得到以下错误信息 MySql.Data.MySqlClient.MySqlException (0×80004005): error connecting: Ti ...
- mysql max 多个字段_mysql – 选择max()多列
这是唯一的识别器有用的一个例子. 想象一下,您有一个autoincrememnting ID字段,然后可以使用相关的子查询查找每个产品所需的id - SELECT * FROM yourTable W ...
最新文章
- 怎样学会单片机?先学什么,怎么入门?
- php100例代码教程,php实例代码_php用户登录实例教程代码
- ubuntu安装ffmpeg_安装 Jellyfin 开始肥宅生活
- java 防并发_并发:如何防止两个不同类中的两个方法同时运行?
- Sumdiv POJ - 1845
- 图解 Scala 基本语法 V2018.12.17
- SharpGL中Finish和Flush的区别
- Linux下idea 配置Android SDK
- JSP弹出窗口和模式对话框
- Webstorm配置运行React Native
- Form-Item Slot 自定义label内容
- 《深入浅出WPF》c#WPF入门,快速上手
- 利用微信JSSDK实现自动定位
- Google版 “AirDrop” 姗姗来迟,万能联播缘何超越Nearby Sharing?
- 宋星专访:一条特立独行的数据私有化之路
- css设定元素左对齐,左对齐标签 - 右对齐选择元素(CSS)
- bsfl ecx,ecx
- Struts2的学习 主要是知识点和基础知识
- cytoscape插件下载_Cytoscape软件下载
- mycobot 使用教程
热门文章
- python3 数独解法 深度遍历
- MFC入门基础(十)静态文本框()、编辑框(Edit Control)
- MathType公式编辑器试用期到了怎么办?
- java 保存文件 中文乱码_java文件中文乱码问题
- Qt解决资源文件中无法显示图片的问题
- 解读arduino读取模拟信号实例
- 两台计算机如何共享文档,两台电脑怎么共享文件夹?
- python 类调用不存在的方法_找不到Python方法,但在类中定义
- 深入了解PowerManagerService(一)之Android 11.0 Power 键亮屏灭屏流程分析
- AcWing237. 程序自动分析