Trước khi giới thiệu các biểu thức bảng phổ biến trong MySQL 8, phương pháp đầu tiên của GL sẽ là nhanh nhất, nhưng đây là một vài ý tưởng khác (cũng sử dụng công nghệ cũ hơn), chỉ cho vui ...
1.
SELECT x.*
, COUNT(*) rank
FROM my_table x
JOIN my_table y
ON y.a = x.a
AND y.b <= x.b
GROUP
BY x.a
, x.b;
2.
SELECT x.*
, FIND_IN_SET(b,n) rank
FROM my_table x
JOIN
( SELECT a
, GROUP_CONCAT(b ORDER BY b) n
FROM my_table
GROUP
BY a
) y
ON y.a = x.a;