Il vous faut un accès en ligne de commande sur le NAS, et lancer MySQL avec mysql -A -u USER -pPASS Rivendell
Vous allez devoir adapter le nom des scheduler codes, machines, etc. Dans les requêtes ci-dessous :
auto
saison1234
(il faut parfois y ajouter un suffixe, par exemple sur la table saison1234_SRT
)MUSIQUE
Mu
, par exemple MuFR
Pour affiner les conditions, vous pouvez aussi utiliser les fonctions de date et heure de MariaDB.
Ici en Français, un 10 Février 2018 entre minuit et 18h. Retirez la ligne avec la condition MuFR
pour avoir ces chiffres sur toute la musique, puis faites la division pour connaître votre score au quota francophone.
SELECT COUNT(l.ID) AS nbTitres, COUNT(DISTINCT l.CART_NUMBER) AS nbTitres_distincts, SUM(l.LENGTH)/3600000 AS heures FROM saison1234_SRT l JOIN CART c ON l.CART_NUMBER = c.NUMBER WHERE `STATION_NAME`='auto' AND GROUP_NAME = 'MUSIC' AND c.SCHED_CODES LIKE '%MuFR%' AND '2018-02-10 00:00:00' <= `EVENT_DATETIME` AND `EVENT_DATETIME` <= '2018-02-10 17:59:00';
Pour sortir la même stat mais par jour, uniquement entre 6 et 18h :
SELECT COUNT(l.ID) AS nbTitres, COUNT(DISTINCT l.CART_NUMBER) AS nbTitres_distincts, SUM(l.LENGTH)/3600000 AS heures, DATE(`EVENT_DATETIME`) FROM saison1234_SRT l JOIN CART c ON l.CART_NUMBER = c.NUMBER WHERE `STATION_NAME`='auto' AND c.GROUP_NAME = 'MUSIC' AND c.SCHED_CODES LIKE '%MuFR%' AND 6 <= HOUR(`EVENT_DATETIME`) AND HOUR(`EVENT_DATETIME`) < 18 GROUP BY DATE(`EVENT_DATETIME`)
On peut aussi grouper par mois plutôt que par jour, et sortir juste la moyenne:
SELECT AVG(nbTitres_distincts) AS nbTitresDifferentsParMois FROM( SELECT COUNT(DISTINCT l.CART_NUMBER) AS nbTitres_distincts FROM saison1234_SRT l JOIN CART c ON l.CART_NUMBER = c.NUMBER WHERE `STATION_NAME`='auto' AND c.GROUP_NAME = 'MUSIC' AND 6 <= HOUR(`EVENT_DATETIME`) AND HOUR(`EVENT_DATETIME`) < 18 GROUP BY MONTH(`EVENT_DATETIME`) ) AS sub;
Ensuite allez vous gausser de passer 10x plus de titres différents que NRJ.
Pour savoir si les programmateurs font le taf ! Vous pouvez retirer la ligne avec la condition qui filtre par sched code.
SELECT COUNT(*) AS nbMusiquesAjoutees FROM CART c JOIN CUTS u ON u.CART_NUMBER=c.NUMBER WHERE c.GROUP_NAME = 'MUSIC' AND c.SCHED_CODES LIKE '%MuFR%' AND u.ORIGIN_DATETIME >= '2017-09-01 00:00:00' ;
Si votre table SRT est reglée pour conserver toute l'année, bien sûr.
mysql -h HOST -p PASS -u USER Rivendell -e "SELECT `EVENT_DATETIME`,`CART_NUMBER`,`ARTIST`,`TITLE` FROM `saison1234_SRT` WHERE '2016-05-02 07:00:00' <= `EVENT_DATETIME` AND `EVENT_DATETIME` <= '2016-05-02 13:00:00' AND `STATION_NAME`='auto' ORDER BY EVENT_DATETIME ASC" > playlist_saison1234.txt
Dans RDLibrary il est possible de sélectionner de nombreux carts (shift+click), puis de cliquer sur “Edit” et “Scheduler codes” pour ajouter/retirer un scheduler code à tous les carts sélectionnés.
Cela permet par exemple de retirer un code Recent
sur des titres devenus anciens, en se basant sur le fait que les numéros de cart sont vaguement croissants dans le temps. Mais quel est le n° de cart limite ? Mais comment trouver quel est le plus grand n° de cart tel quel tous les carts inférieurs soient plus vieux de 3 mois ? La solution :
SELECT MAX(a.NUMBER), COUNT(a.NUMBER) FROM CART a, CUTS u WHERE u.CART_NUMBER=a.NUMBER AND a.GROUP_NAME='MUSIC' AND u.ORIGIN_DATETIME < TIMESTAMPADD(MONTH,-3,NOW());