la tabella in questione è questa
recensioni(id, artista, titolo, testo, cover, anno, mese, voto, ora)
ora è un timestamp, contiene l'orario e la data in cui la recensione è stata inserita nel DB
anno e mese si riferiscono alla data di uscita del disco recensito
devo selezionare gli ultimi 6 dischi usciti e ordinarli secondo la data di inserimento:
una possibile soluzione è questa:
select id, artista, titolo, cover
from (
select id, artista, titolo, cover
from recensioni
where voto>=80
order by anno desc, mese desc
limit 0,6
) as ultimi6
where 1
order by ora;
purtroppo la versione installata non supporta interrogazioni annidate e non sono capace di tradurla in un formato non annidato per la presenza delle operazioni di ordinamento...
c'è qualche modo per tradurla?
oppure si può fare un upgrade del DB-server?
Ho avuto tempo fa lo stesso problema, visto che la versione di MySQL ancora non permetteva sub-query (come ora, ma a quel tempo era ancora più vecchia). http://forum.altervista.org/showthread.php?t=23324
Al post n'9 puoi leggere la soluzione che ho trovato in dev.mysql.com, il "max-concat trick" se è quel che ti serve.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)