【发布时间】:2019-01-29 22:44:13
【问题描述】:
谁能告诉我如何使用 MIN 和 MAX 以及 UNION 关键字从表中选择最小值和最大值。
我尝试使用:
SELECT ename, MIN(sal)
FROM emp
UNION
SELECT ename, MAX(sal)
FROM emp;
但它只显示与 MIN 相同的名称,例如:
smith | 800
smith | 5000
需要:
smith | 800
king | 5000
【问题讨论】:
-
你如何处理关系(即两个人的最低工资相同)
-
我猜这是在 mysql 上,因为缺少 group by 会在许多数据库上被标记为错误,而 mysql 将执行您所看到的行为。
-
您在两个查询中忘记了 GROUP BY(另外,您可能需要 UNION ALL 而不是 UNION,否则在 max=min 的情况下您只会得到 1 行)
标签: mysql select union max min