话不多少上货:
角色表:ums_role:
id, name, description, level, status, sort_no
查询角色level大于2000,且按照角色级别分组后,取每个分组的一个角色名并展示:
(当然,这里的分组还有可能是按照创建时间等需要分组展示)
SELECT
t1.id,
t1.name
FROM
ums_role t1
INNER JOIN ( SELECT MIN ( id ) AS id, level FROM ums_role WHERE 1 = 1 GROUP BY level HAVING level > 2000 ) AS temp ON t1.id = temp.id
ORDER BY
t1.name
这样就搞定了。灵活运用子查询可解决很多复杂场景。
参考名词文档: