mysql 分组查询取各分组的前三名

来源:互联网 发布:农村淘宝工资多少 编辑:程序博客网 时间:2024/06/17 13:24

按name分组取最大的两个(N个)val
select a.* from tb a where 2 > (select count(*) from tb where name = a.name and val > a.val ) order by a.name,a.val

如果还有其他的条件外部和内部的条件都要添上,内部的条件要放在name=a.name的前面才有效,不知道这是为什么

参考资料http://www.jb51.net/article/31590.htm

0 0