Tienes que hacer un corte y control.
Ordena tu consulta SQL
Código SQL:
Ver originalSELECT ...... FROM.... WHERE... ORDER BY ESTADO, CIUDAD, ZONA
Luego recorrelo, comparando si el actual es distinto al anterior, por estado, ciudad y zona... y vas guardando en los arreglos segun necesites