mysql在一条语句中选择带限制的最高值和最低值



我需要从表中提取列价格的5个最高价格和5个最低价格。我想我可以像下面这样在一张桌子上做两个选择,但我想你不能,因为这是同一张桌子?我做过类似的stmt,它很有效,但使用的表不同。

SELECT products.* AS fullcount, (SELECT * FROM products ORDER BY price ASC LIMIT 5) AS highest, (SELECT * FROM products ORDER BY price DESC LIMIT 5) AS lowest FROM products

我做错了什么,还是应该使用不同的方法?

使用UNION组合获得最高和最低行的查询结果。

SELECT *
FROM (
SELECT *
FROM products
ORDER BY price DESC
LIMIT 5) x
UNION (
SELECT *
FROM products
ORDER BY price ASC
LIMIT 5
) y

最新更新