mysql查询同类最大值
时间: 2023-05-09 08:00:28 浏览: 135
在MySQL中,查询同类最大值需要用到子查询和聚合函数MAX。假设我们需要在名为products的表中,找到每个分类中价格最高的产品,可以使用以下查询语句:
SELECT category, MAX(price) as max_price
FROM products
GROUP BY category;
该查询首先是按照分类(category)进行了分组(GROUP BY),然后对每个分类使用聚合函数MAX计算价格(price)的最大值,并将其命名为max_price。最后的结果是分类和该分类中价格最高的产品(max_price)的一张表。
如果需要找到每个分类中价格最高的产品的其他相关信息,可以将上述查询作为子查询,在根据分类和价格最高值(max_price)进行连接:
SELECT p.*
FROM products p
INNER JOIN (
SELECT category, MAX(price) as max_price
FROM products
GROUP BY category
) as maxp ON p.category = maxp.category AND p.price = maxp.max_price;
该查询结果是products表中价格最高的产品,但只包含相应分类中的产品。由于是使用内连接(INNER JOIN),因此不会显示没有与子查询匹配的记录。
阅读全文