例如,我有这个表:
itemgroup |描述|价钱
A,a,10
A,b,12
A,c,14
B,g,11
B,h,16
现在我想在一个组中选择价格最高的行,如下所示:
A,16
SELECT itemgroup,MAX( price ) FROM table GROUP BY itemgroup
A,16
通过尝试这个我得到一个“不是GROUP BY表达式”-error:
SELECT itemgroup,description,MAX( price ) FROM table GROUP BY itemgroup
我需要像这样的伪查询:
SELECT itemgroup,IGNORE( description),MAX( price ) FROM table GROUP BY itemgroup
我希望我能解释一下我的小问题.
解决方法
我通常最终做的事情如下:
SELECT t1.itemgroup,t1.description,t1.price FROM table t1,(SELECT itemgroup,MAX( price ) as price FROM table GROUP BY itemgroup) t2 WHERE t1.itemgroup = t2.itemgroup AND t1.price = t2.price