Carissimi,
Nel mio Db MySQL ho una tabella contenente brani musicali, tra i cui vari campi (titolo, autore, album, ecc...) esistono anche quello "punteggio" (int) e "caricato_il" (date).
Sto cercando di estrarre il brano che ha ottenuto il punteggio più alto tra quelli inseriti in una determinata settimana, e ho scritto la seguente query:
SELECT * FROM `brani`
WHERE `punteggio` = (SELECT MAX(punteggio)
FROM `brani` WHERE
`caricato_il` BETWEEN '2015-05-18' AND '2015-05-24')
Ovviamente la query dovrebbe restituire i dati relativi ad un unico brano (non esistono al momento parità di punteggi tra brani inseriti la stessa settimana...)
Il fatto strano è questo: inserendo alcuni intervalli di date mi compare più di una riga: Mysql inserisce brani inseriti IN ALTRE SETTIMANE, ma che hanno LO STESSO PUNTEGGIO del brano vincitore; è come se in questo caso non considerasse il campo `caricato_il`.
N.B.
Ovviamente non mi compaiono messaggi d'errore.
Ringrazio chiunque voglia chiarirmi le idee.
Nel mio Db MySQL ho una tabella contenente brani musicali, tra i cui vari campi (titolo, autore, album, ecc...) esistono anche quello "punteggio" (int) e "caricato_il" (date).
Sto cercando di estrarre il brano che ha ottenuto il punteggio più alto tra quelli inseriti in una determinata settimana, e ho scritto la seguente query:
SELECT * FROM `brani`
WHERE `punteggio` = (SELECT MAX(punteggio)
FROM `brani` WHERE
`caricato_il` BETWEEN '2015-05-18' AND '2015-05-24')
Ovviamente la query dovrebbe restituire i dati relativi ad un unico brano (non esistono al momento parità di punteggi tra brani inseriti la stessa settimana...)
Il fatto strano è questo: inserendo alcuni intervalli di date mi compare più di una riga: Mysql inserisce brani inseriti IN ALTRE SETTIMANE, ma che hanno LO STESSO PUNTEGGIO del brano vincitore; è come se in questo caso non considerasse il campo `caricato_il`.
N.B.
Ovviamente non mi compaiono messaggi d'errore.
Ringrazio chiunque voglia chiarirmi le idee.