grazie per l'aiuto. effettivamente ho risolto, però vorrei fare una riflessione, per vedere se ho capito.
alla fine la mia query finale è questa (ho unito anche un altra tabella)
codice:
SELECT tab2.date, tab2.trackid, tab2.uservote, tab2.vote, tab3.artist, tab3.event, tab3.date, tab3.res, COUNT(tab2.trackid)
FROM vote AS tab1 JOIN (SELECT * FROM vote ORDER BY date DESC) AS tab2 ON tab1.idvote = tab2.idvote JOIN tracklist AS tab3 ON tab1.trackid=tab3.trackid
GROUP BY tab1.trackid ORDER BY tab2.date DESC
cioè, faccio il join tra tab1 e tab2 via idvote, che è unico (chiave primaria) su entrambe (in modo da non avere ulteriori dublicati).
in questo modo funziona perchè quando fà il join parte dalla seconda select a confrontare. nel senso : fà il join partendo dalla prima riga della seconda tabella (quella ordinata) e procede in maniera "decrescente" riga per riga giusto?
questo non mi torna, perchè essendo tab1 join tab2 dovebbe partire dalla prima tabella (cioè quella non ordinata...)
saluti