赞
踩
首先表T(id,name,value),查询的value最大(小)值所在的记录。
select max(value) from T ; # 查询的只是结构内的最大(小)值,但未将记录查询出来。
有人可能第一反应是分组嘛,group by id 。查询出id或者name。但是就掉坑里了。
group by的意思是
根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
注意!意思是按规则划分分组处理。所以是没法分组出最大(小)记录的。
处理方案:
- SELECT id,name,value
- FROM
- T
- WHERE
- value= ( SELECT max( value) FROM T)
- LIMIT 1 ;# 只需要一条就加上limit 1
这样便可以解决问题了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。