我有一个看起来像这样的表:
name price class
a 10 x
a 20 y
a 15 z
b 40 y
b 35 z
c 5 x
c 10 y
c 15 z
c 12 w
我希望获得最高价格的所有名称以及它所属的类别。像这样的东西:
name price class
a 20 y
b 40 y
c 15 z
我试过这个:
SELECT name, max(price), class
from t
GROUP by name
但它给我带来了错误的课程。我明白了:
name price class
a 20 x
b 40 y
c 15 x
你能告诉我我做错了吗?
答案 0 :(得分:0)
这可以为您提供所需的信息:
SELECT T.*
FROM T
INNER JOIN (SELECT Name,
MAX(price) maxPrice
FROM t
GROUP BY Name) tMax on T.Name = tMax.Name
AND T.Price = tMax.maxPrice