MySQL - 为结果组生成数字

时间:2010-06-08 22:28:37

标签: mysql

我需要一个查询来返回此结果:

+---------+-----+-------+
| ref_nid | nid | delta |
+---------+-----+-------+
|   AA    | 97  |  1    |
|   BB    | 97  |  2    |
|   CC    | 97  |  3    |
|   DD    | 98  |  1    |
|   EE    | 98  |  2    |
|   FF    | 98  |  3    |
+---------+-----+-------+

但是,我没有delta列。我需要为每个nid组生成它。

换句话说,我需要为每组结果自动递增一个数字。

1 个答案:

答案 0 :(得分:0)

查看此guy's blog

select @rownum:=@rownum+1 ‘rank’, p.* from player p, (SELECT @rownum:=0) r order by score desc limit 10;

基本上,

set @i = 0; 
select id, @i:=@i+1 as myrow from mytable