如何在MySQL中自行加入聚合函数的结果?

时间:2014-02-13 07:09:00

标签: mysql innodb

我有以下格式的数据:

Table: MountHeights

ID  | Height| Type  |  ItemCode     |  Context
--------------------------------------------
1   | 15    | max   | BD1896-1W     | exterior
2   | 12    | max   | BD1896-1W     | insect
3   | 18    | max   | BD1896-1W     | interior
4   | 13    | max   | BD14120-1W    | exterior
5   | 10    | max   | BD14120-1W    | insect
6   | 15    | max   | BD14120-1W    | interior

每个商品代码都有多行。

我正试图找出一种方法来获取max(Height) ItemCode ='max'的每个Type,由于某种原因,我无法完全包裹我的脑袋我应该如何将表格引用给自己。

我希望结果符合以下几行:

Results:

 max(Height)| ItemCode  
---------------------------
 18         | BD1896-1W
 15         | BD14120-1W

我该怎么做?

2 个答案:

答案 0 :(得分:2)

此处无需自行引用该表。

SELECT `ItemCode`, MAX( `height` )
FROM `MountHeights`
WHERE `Type`= 'max'
GROUP BY `ItemCode`

Example Fiddle

答案 1 :(得分:0)

你也可以这样做:

SELECT t1.ItemCode,max(t1.height) as height
from MountHeights as t1, test as t2 
where t1.Type=t2.Type group by t1.Type