首先可以从mysql的官方文档中找到下图:
\
row_number
为记录添加序号,序号唯一且连续,图中9条记录,row_number序号为1-9 \
rank
序号不连续的排名,等值的记录排名序号可以相等,如val字段中前两条记录都为1,则对应的序号为1,val字段第三条记录与前两条不等,则rank值为3,即第n条记录如果不等于第n-1条记录,那么第n条记录的rank值即为n \
dense_rank
序号连续的排名,但是区别于row_number的是,dense_rank的序号不唯一,等值的记录排名序号可以相等,如val字段中前两条记录都为1,则对应的序号为1,val字段第三条记录与前两条不等,则dense_rank值为2