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

mysql 分组排序

作者:優雅dē颓废   发布日期:2025-08-04   浏览:22

-- 示例代码:MySQL 分组排序

-- 假设我们有一个名为 `sales` 的表,包含以下字段:
-- id: 销售记录的唯一标识
-- salesperson: 销售人员的名字
-- amount: 销售金额
-- date: 销售日期

-- 我们想要按销售人员分组,并根据销售金额进行排序。

-- 首先,按销售人员分组并计算每个销售人员的总销售额
SELECT 
    salesperson, 
    SUM(amount) AS total_sales
FROM 
    sales
GROUP BY 
    salesperson
ORDER BY 
    total_sales DESC;

-- 如果我们还想查看每个销售人员的具体销售记录,并且按照每个销售人员的销售金额从高到低排序
SELECT 
    s1.salesperson, 
    s1.amount, 
    s1.date
FROM 
    sales s1
JOIN 
    (SELECT 
        salesperson, 
        SUM(amount) AS total_sales
     FROM 
        sales
     GROUP BY 
        salesperson) s2
ON 
    s1.salesperson = s2.salesperson
ORDER BY 
    s2.total_sales DESC, 
    s1.amount DESC;

解释说明:

  1. 分组查询

    • 使用 GROUP BY 子句按销售人员 (salesperson) 分组。
    • 使用 SUM(amount) 计算每个销售人员的总销售额。
    • 使用 ORDER BY 按总销售额 (total_sales) 降序排列。
  2. 详细记录查询

    • 使用子查询计算每个销售人员的总销售额。
    • 将子查询结果与原始表进行连接 (JOIN),以获取每个销售人员的具体销售记录。
    • 最后使用 ORDER BY 按总销售额和单个销售金额降序排列,确保每个销售人员的记录按金额从高到低显示。

上一篇:mysql查看所有用户

下一篇:mysql 布尔类型

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql代码

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

Laravel 中文站