这更像是一个抽象的问题。例如,一个表
| 动物 |
|猫|
|狗|
|狗|
|猫|
|猫|
|狗|
我想要检索的是
| 动物 | pos |
|猫| 1 |
|狗| 1 |
|狗| 2 |
|猫| 2 |
|猫| 3 |
|狗| 3 |
当然,动物不仅限于猫和狗,重复可能会更大。
任何可以看的地方都非常感谢!
答案 0 :(得分:0)
试试这个:
select animal,
case animal
when 'cat' then @cat:=@cat+1
when 'dog' then @dog:=@dog+1
end as animal_row_num
from animals,
( select @cat:=0, @dog:=0 ) animal_row_nums
MySQL小提琴 :Demo