-- 创建销售表
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
salesperson VARCHAR(50),
region VARCHAR(50),
sales_amount DECIMAL(10,2)
);
-- 插入数据
INSERT INTO sales (salesperson, region, sales_amount)
VALUES ('Alice', 'North', 100.00),
('Bob', 'North', 120.00),
('Charlie', 'South', 90.00),
('David', 'South', 110.00);
- 排名函数
- RANK()
- 功能:用于计算排名。如果有相同的值,排名会出现“间隙”。例如,有两个并列第一名,那么下一个名次是第三名。
- 示例:假设有一个学生成绩表
students_scores
,包含学生姓名(student_name
)和成绩(score
),要对成绩进行排名,可以使用如下查询:
SELECT student_name, score, RANK() OVER (ORDER BY score DESC) AS ranking FROM students_scores;
- DENSE_RANK()
- 功能:与
RANK()
类似,用于计算排名,但相同的值排名不会出现“间隙”。例如,有两个并列第一名,下一个名次是第二名。
- 功能:与
- RANK()