Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 序号函数

作者:发光男神   发布日期:2025-11-01   浏览:93

-- MySQL 序号函数示例代码

-- 1. 使用 ROW_NUMBER() 函数生成序号
WITH ranked_data AS (
    SELECT 
        employee_id, 
        department_id, 
        salary,
        ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
    FROM employees
)
SELECT * FROM ranked_data;

-- 解释:
-- 这段代码使用了 ROW_NUMBER() 函数来为每个部门的员工按工资从高到低排序,并生成一个序号。
-- PARTITION BY department_id 表示按部门进行分组,ORDER BY salary DESC 表示在每个部门内按工资降序排列。

-- 2. 使用 RANK() 函数生成排名(相同值有相同排名,后续排名跳跃)
WITH ranked_data AS (
    SELECT 
        employee_id, 
        department_id, 
        salary,
        RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
    FROM employees
)
SELECT * FROM ranked_data;

-- 解释:
-- 这段代码使用了 RANK() 函数来为每个部门的员工按工资从高到低排序,并生成一个排名。
-- 如果有相同的工资,它们将获得相同的排名,而后续排名会跳跃。

-- 3. 使用 DENSE_RANK() 函数生成排名(相同值有相同排名,后续排名不跳跃)
WITH ranked_data AS (
    SELECT 
        employee_id, 
        department_id, 
        salary,
        DENSE_RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
    FROM employees
)
SELECT * FROM ranked_data;

-- 解释:
-- 这段代码使用了 DENSE_RANK() 函数来为每个部门的员工按工资从高到低排序,并生成一个排名。
-- 如果有相同的工资,它们将获得相同的排名,但后续排名不会跳跃。

如果你需要更多的示例或详细的解释,请告诉我!

上一篇:mysql导出sql文件

下一篇:mysql 调用存储过程

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站