假设现在有一个member表记录了用户的身高,
现在对用户身高进行排名,并获取名次
SELECT t.height, @rownum := @rownum + 1 AS rownum
FROM (SELECT @rownum := 0) r, (SELECT * FROM member ORDER BY height DESC) AS t;
上面这段sql的意思其实就是按身高排序,然后再新加一个字段rownum用作排名,然后rownum每一行都会自加1 这样就得到结果了
SELECT @rownum := 0:表示对rownum赋初始值0
@rownum := @rownum + 1:表示对rownum加1,语句中会从1开始,每一行往下都自动加1