Originariamente inviato da in the web
Non dovresti farlo in SQL, comunque si fa così:

-- prende i record del giorno X tranne il primo in ordine di ora
(SELECT data_completa, giorno, ora
FROM tab
WHERE giorno = X
ORDER BY ora
LIMIT 1, 255)
UNION
-- prende il primo record del giorno dopo
(SELECT data_completa, giorno, ora
FROM tab
WHERE giorno = X + 1
ORDER BY ora
LIMIT 1)

risposta data 3 ore prima