¿Cómo ordenar por conteo desc en cada grupo en una colmena?

Aquí está el HQL:

select A, B, count(*) as cnt from test_table group by A, B order by cnt desc;

La salida de muestra es la siguiente:

a1 | b1 | 5
a2 | b1 | 3
a1 | b2 | 2
a2 | b2 | 1

Pero lo que quiero es hacer laorder by en cada grupo de A, y el resultado previsto es como:

a1 | b1 | 5
a1 | b2 | 2
a2 | b1 | 3
a2 | b2 | 1

¿Alguien me puede dar alguna idea de cómo resolver este problema en soloun HQL? ¡Muchas gracias