从MySQL表的一部分中选择最小值和最大值

从MySQL表的一部分中选择最小值和最大值,sql,mysql,max,min,Sql,Mysql,Max,Min,如果我想从整个表中选择最小值和最大值,我可以使用: SELECT min(price) as min_price, max(price) as max_price FROM `prices` 但如何仅从表的一部分中选择最小值和最大值? 例如,我在一个表中有30行。我想从前十行中选择最小值和最大值,然后从后十行中选择最小值和最大值,然后形成最后十行 我试过类似的方法 SELECT min(price) as min_price, max(price) as max_price FROM `pri

如果我想从整个表中选择最小值和最大值,我可以使用:

SELECT min(price) as min_price, max(price) as max_price FROM `prices`
但如何仅从表的一部分中选择最小值和最大值? 例如,我在一个表中有30行。我想从前十行中选择最小值和最大值,然后从后十行中选择最小值和最大值,然后形成最后十行

我试过类似的方法

SELECT min(price) as min_price, max(price) as max_price FROM `prices` LIMIT 0,10
但这并不奏效

如何通过最少的查询来解决此问题?

您是否尝试过:

SELECT min(price) as min_price, max(price) as max_price FROM 
    (SELECT price FROM `prices` LIMIT 0,10);
此外,MySQL还有一个很酷的特性,可以让您返回任意范围的行(例如返回行10-20)。这对于显示记录页面非常方便:

SELECT column FROM table
LIMIT 10 OFFSET 20
上述查询将返回第20-30行

简而言之,要在查询时返回从20到30的行,可以使用:

SELECT MIN(PRICE) AS MinPrice, MAX(PRICE) AS MaxPrice 
FROM (SELECT PRICE FROM PRICES LIMIT 10 OFFSET 20);

您需要更改偏移值以指定范围的起点。

定义“前十行”。您使用哪个字段来确定行顺序?检查我的答案以获得任意范围的行。我有相同的答案:)@reggie:这是真的。您甚至可以在第二个
选择
中使用
排序依据。他只需要知道,他可以在第二次选择中获取任何
price
列表,并且由于第一次选择,只获取
min
max
。看起来很合乎逻辑。无论如何,由于OP没有回答@JNK,您不知道这里是否需要偏移量。谢谢!这正是我需要的。最后一个查询是选择min(t1.price)作为min_price,选择max(t1.price)作为max_price FROM(选择price FROM
ko_base_kk_old
ORDER BY price LIMIT 0,10),因为t1I已对其进行了更多更新,以供您理解。非常欢迎你:)
SELECT MIN(PRICE) AS MinPrice, MAX(PRICE) AS MaxPrice 
FROM (SELECT PRICE FROM PRICES LIMIT 10 OFFSET 20);