ciao, come è possibile leggere 20 records prima e 20 records dopo un determinato record che mi interessa?

es:

1
2
3
4
5
..
10
..
20..
21..
25..
40..
44 -- è il record che mi interessa
..
60
..
80..
110..


vorrei un recordset che contenesse i record dal 24esimo al 64esimo.


chiramente, il mio record 44 varierà!.



pensavo:
X = 44 (il mio record interessato varibiabile)

i_venti_prima = select * from tabella where codice_record <= X order by codice_record DESC limit 0,20

i_venti_dopo = select * from tabella where codice_record >= X order by codice_record ASSC limit 0,20





grazie ciao