Mi pregunta a punta más que a PHP, a entender el problema desde la lógica de Bases de Datos, por eso pregunto qué es lo que quieres hacer luego o cuál es el sentido de esa columna, porque desde ese ángulo no se entiende la utilidad de o que dices.
En principio, como te dije, eso se puede obtener directamente en la consulta sin necesidad de crear una columna en la tabla. Hay métodos en MySQL que lo permiten, y con los cuales la consulta te devolveria una columna adicional (no física en tabla) con esa numeración.
Por otro lado, me queda la duda, más allá de lo que quieres hacer, acerca de qué uso le darás luego a ese dato en la tabla... ¿Será alguna clave de algún tipo?
En cuanto a PHP, no hay mucho por donde dudar: Primero tienes que obtener el array completo, consultando la tabla ordenada a la cual le hayas agregado una columna para este uso:
Código PHP:
Ver original$query = "SELECT a, b, c, d, 1 e FROM tabla order by a";
La columna "e" es una columna virtual que contiene un valor 1.
Luego hacer un foreach donde vas comparando el valor del registro anterior con el del siguiente, y cuando son diferentes sumas uno a ese.
¿Te sirve esa descripción o necesitas el código?