题解 | #出现三次以上相同积分的情况#
出现三次以上相同积分的情况
http://www.nowcoder.com/practice/c69ac94335744480aa50646864b7f24d
问题:id为用户主键id,number代表积分情况,让你写一个sql查询,积分表里面出现三次以及三次以上的积分,查询结果如下。注意:若有多个符合条件的number,则按number升序排序输出。
问题拆解:1.先按照grade分组,限定条件求出分组后的grade count大于等于3次的字段;
2.从新生成的表格中提取需要的number,最后按照number排序即可。
select re.number from
(select g.number, count(*) from grade g
group by g.number
having count(*)>=3) re
order by re.number