-- 示例数据表: sales
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
amount DECIMAL(10, 2)
);
-- 插入示例数据
INSERT INTO sales (name, amount) VALUES
('Alice', 150.00),
('Bob', 200.00),
('Charlie', 150.00),
('David', 300.00),
('Eve', 200.00);
-- 使用 RANK() 函数进行排名
SELECT
id,
name,
amount,
RANK() OVER (ORDER BY amount DESC) AS rank
FROM
sales;
-- 解释:
-- 1. `RANK()` 函数根据 `amount` 列的值进行降序排序,并为每个行分配一个排名。
-- 2. 如果有多个行具有相同的 `amount` 值,则它们将获得相同的排名,下一个排名将跳过相应的数字。
-- 例如,在上面的例子中,'David' 排名第 1,'Bob' 和 'Eve' 排名第 2(因为他们的销售额相同),然后 'Alice' 和 'Charlie' 排名第 4。
上一篇:mysql 自增函数
下一篇:mysql去重复 保留一条
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站