Consultant la taula dels continguts a Drupal per a treure indicadors mensuals i anuals des de MariaDB

Consultant taules dels tipus de contingut a Drupal per a treure indicadors mensuals i anuals

En este xicotet article explique com consulte les taules de Drupal on estan els tipus de contingut per tal de conèixer el número de continguts mensuals i anuals fàcilment des de MariaDB.

A Drupal 8.x i 9.x, tenim la taula node_field_data amb la informació que necessitem (id, títol, tipus de contingut, data, etc..), aleshores ens tocarà consultar esta taula. Ací un exemple de extreure les primeres cinc files de la taula node_field_data:

mysql> select nid, type, title, created from node_field_data WHERE type="article" limit 5;
+-----+---------+-----------------------------------------------------------------+------------+
| nid | type    | title                                                           | created    |
+-----+---------+-----------------------------------------------------------------+------------+
|   5 | article | PRIMER PREMI FOTOGRAFIA 2017 CABANES                            | 1476876059 |
| 272 | article | Cabanes celebra el dia de la Dona                               | 1489392507 |
| 272 | article | Cabanes celebra el día de la Mujer                              | 1489392507 |
| 278 | article | Las campanas del campanario de Cabanes vuelven a sonar 'a mano' | 1489411794 |
| 278 | article | Les campanes del campanar de Cabanes tornen a sonar 'a mans'    | 1489411794 |
+-----+---------+-----------------------------------------------------------------+------------+
5 rows in set (0.00 sec)
.
mysql> 

En el camp created no s'ens mostra la data en format UNIX i no en format DATETIME fàcil de consultar, aleshores caldrà que fem servir el truc de DATE_FORMAT(FROM_UNIXTIME(created), "%d-%m-%Y"); per tal de formatejar la data com vullgam. Aleshores, ací ja podem saber la data en que van ser publicades les notícies (ací mostre nomès 5):

mysql> select nid, type, title, DATE_FORMAT(FROM_UNIXTIME(created), "%d-%m-%Y") from node_field_data WHERE type="article" limit 5;
+-----+---------+-----------------------------------------------------------------+-------------------------------------------------+
| nid | type    | title                                                           | DATE_FORMAT(FROM_UNIXTIME(created), "%d-%m-%Y") |
+-----+---------+-----------------------------------------------------------------+-------------------------------------------------+
|   5 | article | PRIMER PREMI FOTOGRAFIA 2017 CABANES                            | 19-10-2016                                      |
| 272 | article | Cabanes celebra el dia de la Dona                               | 13-03-2017                                      |
| 272 | article | Cabanes celebra el día de la Mujer                              | 13-03-2017                                      |
| 278 | article | Las campanas del campanario de Cabanes vuelven a sonar 'a mano' | 13-03-2017                                      |
| 278 | article | Les campanes del campanar de Cabanes tornen a sonar 'a mans'    | 13-03-2017                                      |
+-----+---------+-----------------------------------------------------------------+-------------------------------------------------+
5 rows in set (0.00 sec)
.
mysql>

Si ara volem cercar les notícies de l'any 2010, farem la següent ordre que ens mostrarà totes les notícies d'eixe any:

select nid, type, title, DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') from node_field_data WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') LIKE '%2021%';

INDICADORS ANUALS
I aleshores, ara ja podem obtenir el sumatori total de notícies en l'any 2010:

mysql> select count(*) from node_field_data WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') LIKE '%2021%';
+----------+
| count(*) |
+----------+
|      300 |
+----------+
1 row in set (0.00 sec)

INDICADORS MENSUALS
Ací treurem un llistat de les notícies de desembre de l'any 2021 amb la següent ordre:

mysql> select nid, type, title, DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') from node_field_data WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') LIKE '%-12-2021%';
+------+---------+-----------------------------------------------------------------------------------------+-------------------------------------------------+
| nid  | type    | title                                                                                   | DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') |
+------+---------+-----------------------------------------------------------------------------------------+-------------------------------------------------+
| 1223 | article | L'àmplia oferta d'oci i turisme de Cabanes per al pont de la Constitució                | 01-12-2021                                      |
| 1223 | article | La amplia oferta de ocio y turismo de Cabanes para el puente de la Constitución         | 01-12-2021                                      |
| 1224 | article | Cabanes treballa per convertir-se en Destinació Turística Intel·ligent                  | 03-12-2021                                      |
| 1224 | article | Cabanes trabaja por convertirse en Destino Turístico Inteligente                        | 03-12-2021                                      |
| 1225 | article | Cabanes premia el rendiment acadèmic de l'alumnat local                                 | 10-12-2021                                      |
| 1225 | article | Cabanes premia el rendimiento académico del alumnado local                              | 10-12-2021                                      |
| 1226 | article | Manualitats nadalenques amb l'Associació de Mestresses de Casa de la Ribera de Cabanes  | 14-12-2021                                      |
| 1226 | article | Manualidades navideñas con la Asociación de Amas de Casa de La Ribera de Cabanes        | 14-12-2021                                      |
| 1228 | article | El Nadal arriba a Cabanes amb una divertida programació infantil i familiar             | 17-12-2021                                      |
| 1228 | article | La Navidad llega a Cabanes con una divertida programación infantil y familiar           | 17-12-2021                                      |
| 1229 | article | Cabanes potencia el comerç local per Nadal                                              | 20-12-2021                                      |
| 1229 | article | Cabanes potencia el comercio local por Navidad                                          | 20-12-2021                                      |
| 1230 | article | La llum del Nadal arriba a Cabanes i La Ribera                                          | 21-12-2021                                      |
| 1230 | article | La luz de la Navidad llega a Cabanes y La Ribera                                        | 21-12-2021                                      |
+------+---------+-----------------------------------------------------------------------------------------+-------------------------------------------------+
14 rows in set (0.00 sec)

Que ens donarà un total de 14 notícies:

mysql> select count(*) from node_field_data WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%d-%m-%Y') LIKE '%-12-2021%';
+----------+
| count(*) |
+----------+
|       14 |
+----------+
1 row in set (0.00 sec)
.
mysql>

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.