SQL-Query最大和最小

时间:2017-04-24 13:55:16

标签: mysql sql

什么是正确的(MySql) - 查询以获得表的最高和最小值?我得到了这个,但那有点错误:

SELECT * FROM temperaturs ASC LIMT 3  UNION SELECT * from temperaturs  ORDER BY `Temperatur_Celsius` DESC LIMIT 3;

这也有问题:

SELECT * FROM tabelle_name ORDER BY spalte1 DESC LIMIT k UNION SELECT * FROM tabelle_name ORDER BY spalte1 ASC LIMIT k

1 个答案:

答案 0 :(得分:2)

您的查询只需要括号:

(SELECT * FROM temperaturs ORDER BY `Temperatur_Celsius` ASC LIMIT 3)
UNION ALL
(SELECT * from temperaturs ORDER BY `Temperatur_Celsius` DESC LIMIT 3);

注意:我从UNION切换到UNION ALL。如果表少于6行,这将允许多行。一般来说,UNION是一种不好的做法,因为它会导致删除重复项的开销。

UNION / UNION ALL的子查询使用ORDER BYLIMIT时,MySQL需要使用括号。