题解 | #刷题通过的题目排名#
刷题通过的题目排名
http://www.nowcoder.com/practice/cd2e10a588dc4c1db0407d0bf63394f3
本题我没搞出来的是排名这个事情怎么弄?
参考了题解,才发现如此巧妙的手段,通过两张一样的表自己比较,找到大于当前number的所有number,去重后计数,就可以实现名次的问题。
SELECT a.id,a.number, ( SELECT COUNT(DISTINCT(b.number)) FROM passing_number b WHERE b.number >=a.number ) AS t_rank FROM passing_number a ORDER BY a.number DESC , a.id ASC