在MySQL中,可以使用GROUP BY和HAVING子句来实现基于冗余输入列表的SELECT查询。
假设我们有以下的表结构:
CREATE TABLE employees (
id INT,
name VARCHAR(50),
department VARCHAR(50),
salary INT
);
现在,我们想要从employees表中选择每个部门中工资最高的员工。我们可以使用以下查询来实现:
SELECT e1.*
FROM employees e1
JOIN (
SELECT department, MAX(salary) AS max_salary
FROM employees
GROUP BY department
) e2 ON e1.department = e2.department AND e1.salary = e2.max_salary;
在这个查询中,内部的子查询首先计算每个部门的最高工资(max_salary),然后将结果与原始表连接。连接条件包括部门和工资,以确保我们只选择每个部门中工资最高的员工。
通过这种方法,我们可以选择具有冗余输入列表的MySQL查询结果。
下一篇:保留三个数据集中的公共列