• Welcome to RadioDJ - Free Radio Automation Software Forum. Please log in or sign up.

Tracks Rotation con query SQL

Started by RadioMilanOvest, June 12, 2024, 08:56:55 AM

RadioMilanOvest

Ciao a tutti, volevo condividere con voi una query sql semplice e utile per selezionare della musica dal 1980 al 1989 in modo random da utilizzare per la creazione di una tracks rotation.
ORDER BY RAND() mescola l'ordine delle righe restituite dalla query, quindi, ogni volta che eseguite la query, l'ordine delle canzoni sarà diverso.
A voi la query:

SELECT * FROM songs
WHERE year BETWEEN 1980 AND 1989
ORDER BY RAND();


Saluti by Fix

Music Box


RadioMilanOvest

Ciao, la query precedente aveva il pregio di estrapolare dalla tabella songs tutte le tracce dal 1980 al 1989 in modalità random, ma non si preoccupava del fatto che tra le tracce potevano esserci numerosi pezzi dello stesso artista. Questa nuova query è stata affinata per riprodurre un sola traccia dello stesso artista.


SELECT *
FROM (
    SELECT *
    FROM songs
    WHERE year BETWEEN 1980 AND 1989
    GROUP BY LEFT(artist, 5)
) AS subquery
ORDER BY RAND();


QUERY TESTED!


Saluti by Fix

Music Box

Ciao, ti ringrazio per la precisione.  ;D 

RadioMilanOvest

Ciao a tutti, circa le query che ho proposto c'è da dire che funzionano bene solo se i brani sono taggati in modo coerente rispetto all'anno di produzione. Per esempio ci sono diverse raccolte di musica anni '80 in CD che in realtà sono taggate con l'anno in cui è stato stampato il CD, quindi, attenzione.
A presto
Saluti da Fix