tb:blog
### 需求:根据id进行分组,找到分组内hour中最大的一项
错误写法:select
select id, max(hour) from tb group by id;im
正确的写法:数据
### 需求:根据id进行分组,找到分组内hour中最大的一项### 1.根据id进行分组,列出id与max(hour);此时,是组内的未知序的第一条,max仅检索hour列的最大值,与该行的其余属性无关SELECT id, max(hour), nameFROM tbGROUP BY id### 2.经过id, max(hour)再次和tb进行自链接,能够仅保留上一个逻辑过滤分组剩下的,且经过on maxhour链接取得b表的hour项的数据SELECT a.id, a.maxhour, b.nameFROM ( SELECT id, max(hour) AS maxhour, name FROM tb GROUP BY id) a JOIN tb b ON a.id = b.id AND a.maxhour = b.hour