mysql ;rank函数怎么用

Mysql 的rank 函数如何实现 表特征:mysql> select from test;+---+---+ | a | b | +---+---+ | 1 | 20 | | 1 | 21 | | 1 | 24 | | 2 | 20 | | 2 | 32 | | 2 | 14 | +---+---+ 6 rows in set (0.00 sec)现在,我们以a分组,查询b列最大的2个值。
mysql ;rank函数怎么用
转:
Mysql
的rank
函数如何实现
表特征:
mysql>
select
*
from
test;
+------+------+
|
a
|
b
|
+------+------+
|
1
|
20
|
|
1
|
21
|
|
1
|
24
|
|
2
|
20
|
|
2
|
32
|
|
2
|
14
|
+------+------+
6
rows
in
set
(0.00
sec)
现在,我们以a分组,查询b列最大的2个值。
这条sql要怎么写了?
1.创建表
Create
Table:
CREATE
TABLE
`sam`
(
`a`
int(11)
DEFAULT
NULL,
`b`
int(11)
DEFAULT
NULL
)
ENGINE=MyISAM
DEFAULT
CHARSET=utf8
2.插入模拟数据
INSERT
INTO
`sam`
VALUES
(1,10),(1,15),(1,20),(1,25),(2,20),(2,22),(2,33),(2,45);
+------+------+
|
a
|
b
|
+------+------+
|
1
|
10
|
|
1
|
15
|
|
1
|
20
|
|
1
|
25
|
|
2
|
20
|
|
2
|
22
|
|
2
|
33
|
|
2
|
45
|
+------+------+
3.SQL实现
select
a,b,rownum,rank
from
(select
ff.a,ff.b,@rownum:=@rownum+1
rownum,if(@pa=ff.a,@rank:=@rank+1,@rank:=1)
as
rank,@pa:=ff.a
FROM
(select
a,b
from
sam
group
by
a,b
order
by
a
asc,b
desc)
ff,(select
@rank:=0,@rownum:=0,@pa=null)
tt)
result
having
rank
<=2;
4.结果:
+------+------+--------+------+
|
a
|
b
|
rownum
|
rank
|
+------+------+--------+------+
|
1
|
25
|
1
|
1
|
|
1
|
20
|
2
|
2
|
|
2
|
45
|
5
|
1
|
|
2
|
33
|
6
|
2
|
+------+------+--------+------+
4
rows
in
set
(0.00
sec)2019-07-28
mengvlog 阅读 6 次 更新于 2025-07-19 23:18:16 我来答关注问题0
  •  翡希信息咨询 MySQL语句大全及使用总结(二)—MySQL数据库的启动与登录

    在开始菜单,点击MySQL 5.7 Command Line Client(或其他版本),或在搜索框中输入comm选择MySQL 5.7 Command Line Client启动DOS命令窗口。在窗口Enter password:处输入安装时设置的MySQL数据库客户端登录密码,回车。若出现Welcome to the MySQL monitor.等字眼,表示登录服务器成功,可以在闪烁光标处输入...

  • Windows下MySQL的安装目录一般位于C:\Program Files\MySQL\MySQL Server 5.5\Data目录。配置文件名为my.ini。如果MySQL在安装过程中出现了错误,可以重新安装MySQL,并注意备份MySQL的数据文件,再将备份的文件复制到新环境中。4. 检查管理员权限 有时候,MySQL一闪而退是由于权限问题导致的。如果MySQL不能...

  •  翡希信息咨询 Mysql 数据库介绍

    灵活度:MySQL 的表结构相对固定,灵活度较低,可能无法满足某些动态变化的数据需求。四、SQL 语言在 MySQL 中的应用 SQL(Structured Query Language)即结构化查询语言,是用于访问数据库的标准化语言。在 MySQL 中,SQL 语言被广泛应用于数据的定义、操作、查询和控制等方面。DDL 语句:用于定义数据库...

  •  文暄生活科普 什么是Mysql?

    MySQL是一个开放源码的小型关系型数据库管理系统。以下是关于MySQL的详细介绍:开发者与归属:MySQL最初由瑞典的MySQL AB公司开发。应用广泛:MySQL被广泛地应用在Internet上的中小型网站中,成为许多网站选择的数据库解决方案。优势特点:体积小:MySQL数据库管理系统占用空间相对较小,便于部署和维护。速度快...

  • 1. 设置正确的字符集 MySQL支持多种字符集,如UTF-8、GB2312、GBK等。在创建数据库和表时必须设置正确的字符集,否则可能会导致中文乱码或其他错误。以下是设置UTF-8字符集的示例代码:创建数据库时设置字符集:CREATE DATABASE mydb DEFAULT CHARACTER SET utf8;创建表时设置字符集:CREATE TABLE my...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部