第五高销售交易

问题描述 投票:0回答:1

假设您正在为一家销售公司管理数据库。该数据库包含一个名为 Sales 的表,用于记录销售交易。您需要找出每个销售人员的第五高销售额。

按销售人员 ID 升序排列。 表架构如下: 销售量 列名 数据类型 交易ID int salesperson_id int 整数 金额小数(10, 2) transaction_date 日期。

所需输出 enter image description here

sql mysql subquery
1个回答
0
投票

解决此问题的简单方法是使用带有窗口函数的公共表表达式 (CTE)。

WITH RankedSales AS (
    SELECT 
        salesperson_id,
        amount,
        ROW_NUMBER() OVER (PARTITION BY salesperson_id ORDER BY amount DESC) AS rank
    FROM 
        Sales
)
SELECT 
    salesperson_id,
    amount AS fifth_highest_sale
FROM 
    RankedSales
WHERE 
    rank = 5
ORDER BY 
    salesperson_id ASC;

如有问题请提问。

© www.soinside.com 2019 - 2024. All rights reserved.