Necesito hacer una serie de estadísticas basadas en las actas cargadas en el sistema. Básicamente deben ser estadísticas agrupadas por mes y por id. Planeo usar Highcharts (Gráficos en Javascript) para representar los datos de la consulta.
Dejo una imagen del modelo de la Base de Datos: [URL="https://www.dropbox.com/s/1bdeiuurnwm0mnr/CAPD343%283%29.png?dl=0"]Ver[/URL]
Una de las consultas sería mostrar los 5 puestos que más han cargado actas en cada mes. Dejo la estructura de las tablas involucradas:
Código SQL:
Ver original
MariaDB [mydb]> DESC companias; +--------------+---------------------+------+-----+---------+----------------+ | FIELD | TYPE | NULL | KEY | DEFAULT | Extra | +--------------+---------------------+------+-----+---------+----------------+ | companias_id | tinyint(3) UNSIGNED | NO | PRI | NULL | AUTO_INCREMENT | | compania | VARCHAR(45) | NO | | NULL | | | activo | tinyint(1) | NO | | 1 | | +--------------+---------------------+------+-----+---------+----------------+ MariaDB [mydb]> DESC puestos; +-----------------+----------------------+------+-----+---------+----------------+ | FIELD | TYPE | NULL | KEY | DEFAULT | Extra | +-----------------+----------------------+------+-----+---------+----------------+ | puestos_id | SMALLINT(3) UNSIGNED | NO | PRI | NULL | AUTO_INCREMENT | | fk_companias_id | tinyint(3) UNSIGNED | NO | MUL | NULL | | | puesto | VARCHAR(45) | NO | UNI | NULL | | | activo | tinyint(1) | NO | | 1 | | +-----------------+----------------------+------+-----+---------+----------------+ MariaDB [mydb]> DESC actas; +------------------------+--------------------------------+------+-----+---------+-------+ | FIELD | TYPE | NULL | KEY | DEFAULT | Extra | +------------------------+--------------------------------+------+-----+---------+-------+ | acta_id | VARCHAR(25) | NO | PRI | NULL | | | fk_fiscales_fis_cedula | VARCHAR(11) | NO | MUL | NULL | | | fk_entes_receptores_id | tinyint(3) UNSIGNED | NO | MUL | NULL | | | fk_puestos_id | SMALLINT(3) UNSIGNED | NO | MUL | NULL | | | fk_usuarios_id | INT(10) UNSIGNED | NO | MUL | NULL | | | tipo_acta | enum('penal','administrativa') | NO | | NULL | | | fecha | DATE | NO | | NULL | | | f_creacion | datetime | YES | | NULL | | | f_modificacion | datetime | YES | | NULL | | | descripcion | text | YES | | NULL | | +------------------------+--------------------------------+------+-----+---------+-------+
Al hacer:
Código MySQL:
Ver original
Obtengo:
Código SQL:
Ver original
+------------------------------------------------+------+ | name |DATA | +------------------------------------------------+------+ | Primera Compañía: Sub Frente Chino Palmasola | 4 | | Quinta Compañía: Zaraza | 2 | | Primera Compañía: chaguaramas | 1 | | Primera Compañía: Sub Frente Chino Palmasola | 1 | | Tercera Compañía: Puesto Cabruta | 1 | +------------------------------------------------+------+
primera Compañía: Sub Frente Chino Palmasola se muestra en dos oportunidades pues tiene actas cargadas en dos meses distintos.
¿Cómo puedo hacer que se muestren de esta forma? (suponiendo que hay más valores en data)
Código SQL:
Donde en data se agrupen las sumas de las actas cargadas por mes. Ver original
+------------------------------------------------+---------+ | name | DATA | +------------------------------------------------+---------+ | Primera Compañía: Sub Frente Chino Palmasola | 4, 1, 3 | | Quinta Compañía: Zaraza | 2, 3 | | Primera Compañía: chaguaramas | 1, 5, 6 | | Tercera Compañía: Puesto Cabruta | 1 | +------------------------------------------------+---------+
No se por donde comenzar, agradecería cualquier ayuda o idea.