mysql 按表达式或函数分组多个字段分组排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 按表达式或函数分组多个字段分组排序相关的知识,希望对你有一定的参考价值。

按表达式或函数分组:

#案例:按员工的姓名的长度分组,查询每一组的员工个数,筛选员工个数大于五

SELECT
    COUNT(*),LENGTH(last_name)
FROM
    employees
GROUP BY
    LENGTH(last_name)
HAVING
    COUNT(*)>5;

按多个字段分组:
#案例:查询每个部门每个工种的员工的平均工资

SELECT 
    AVG(salary),department_id,job_id
FROM
    employees
GROUP BY
    department_id,job_id;

排序
#案例:查询每个部门每个工种的部门编号不为null的员工的平均工资>10000,并且按平均工资的高低显示

SELECT
    AVG(salary),department_id,job_id
FROM
    employees
WHERE
    department_id IS NOT NULL
GROUP BY
    department_id,job_id
HAVING
    AVG(salary)>10000
ORDER BY
    AVG(salary) DESC;

以上是关于mysql 按表达式或函数分组多个字段分组排序的主要内容,如果未能解决你的问题,请参考以下文章

Linux——MySQL高阶语句杂而精

Linux——MySQL高阶语句杂而精

06_MySQL DQL_分组查询

MySQL对数据表进行分组查询(GROUP BY)

使用lambda表达式按字段排序

MySQL数据库的高级SQL语句!