用这个:
SELECt x.id, x.position, x.name FROM (SELECt t.id, t.name, @rownum := @rownum + 1 AS position FROM TABLE t JOIN (SELECt @rownum := 0) r ORDER BY t.name) x WHERe x.name = 'Beta'
…以获得唯一的位置值。这个:
SELECT t.id, (SELECT COUNT(*) FROM TABLE x WHERe x.name <= t.name) AS position, t.name FROM TABLE t WHERe t.name = 'Beta'
…将赋予领带相同的价值。IE:如果第二个值有两个,则当第一个查询将其中一个赋予2的位置,将另一个赋予3的位置时,它们的位置均为2。



