题解 | #截取出年龄#
找出每个学校GPA最低的同学
http://www.nowcoder.com/practice/90778f5ab7d64d35a40dc1095ff79065
SELECT a.age, COUNT( a.device_id) FROM
(SELECT device_id, substring_index(SUBSTRING_INDEX(profile,",",3),",",-1) as age
from user_submit) a
group by age
order by age DESC
之前写的时候想到用窗口函数,但是想不明白排序后如何筛选最小值。 经其他同学的就解答才想起来,可以降序排序,然后求rank=1的值就是了。这里我用了dense_rank,因为撇开这个例题,考虑到实际中会有同分的情况,我这里理解应该都筛选出来。