Sử dụng cái này:
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'
... để nhận giá trị vị trí duy nhất. Cái này:
SELECT t.id,
(SELECT COUNT(*)
FROM TABLE x
WHERE x.name <= t.name) AS position,
t.name
FROM TABLE t
WHERE t.name = 'Beta'
... sẽ cung cấp cho các mối quan hệ cùng một giá trị. IE:Nếu có hai giá trị ở vị trí thứ hai, chúng sẽ có vị trí là 2 khi truy vấn đầu tiên sẽ đưa ra vị trí là 2 cho một trong số chúng và 3 cho vị trí còn lại ...