Ho una tabella con tanti record in questo modo.

id, nome, start, end
1, primo, 2010-10-14 15:00:00,2010-10-14 15:01:59
2, secondo, 2010-10-14 15:02:00,2010-10-14 15:03:59
3, terzo, 2010-10-14 15:04:00,2010-10-14 15:05:59
4, primo, 2010-10-14 15:06:00,2010-10-14 15:07:59
5, secondo, 2010-10-14 15:08:00,2010-10-14 15:09:59
6, terzo, 2010-10-14 15:10:00,2010-10-14 15:11:59
7, primo, 2010-10-14 15:12:00,2010-10-14 15:13:59
8, secondo, 2010-10-14 15:14:00,2010-10-14 15:15:59
9, terzo, 2010-10-14 15:16:00,2010-10-14 15:17:59
10, primo, 2010-10-14 15:18:00,2010-10-14 15:19:59
11, secondo, 2010-10-14 15:20:00,2010-10-14 15:21:59

...
720, terzo, 2010-10-15 14:58:00, 2010-10-15 15:59:59

In pratica i valori si ripetono fino a saturare le 24 ore.

Ad un certo evento io devo cancellare tutti i record con un determinato nome dalla tabella, ma devo mantenere il numero dei record rimanenti.

per cui:
DELETE FROM tabella WHERE nome = 'secondo' AND start >= NOW()

Io adesso vorrei che i restanti valori collassassero nei tempi dei valori eliminati e che i record mancanti venissero occupati dai record restanti...

Avete idee, io ci sbatto la testa ma non vado avanti.