il problema è che gli id non sono consecutivi. In questa tabella ci sono eventi appartenenti ad utenti diversi, quindi c'è anche un campo "user_id", quando io faccio la selezione nella WHERE devo selezionare un solo "user_id"=5. La difficoltà sta nel selezionare l'elemento che ha valore date appena successivo all'elemento corrente...[supersaibal]Originariamente inviato da Teuzzo
SELECT a.id, a.quellochevuoi, a.data as data1, b.data as data2
FROM tabella as a
left join tabella as b
on a.id=(b.id+1)
order by (unix_timestamp(data2)-unix_timestamp(data1))
[/supersaibal]
Correggimi se sbaglio, ma la cosa forse è risolvibile con una query nidificata, sbaglio?? Una cosa tipo..
SELECT a.id, a.descrizione, (a.data AS data1-b.data AS data2) AS intervallo
FROM tabella as a, tabella as b
WHERE data1<{SELECT MIN(data2) FROM b WHERE data2>data1} AND user_id=5
ORDER BY data1
Apparte al fatto che la sintassi sicuramente è sbagliata (le reminescenze scolastiche sono ben lontane), ma poi in mysql non si posso fare query nidificate sbaglio?!
Come si può fare?? a patto che quello che ho scritto abbia un senso ovviamente.