MySQL espera literales de fecha , no enteros:
SELECT *
FROM table
WHERE DATE(timestamp_field) BETWEEN '2012-03-01' AND '2012-05-04'
Para usar números enteros (asumiendo que son segundos desde la época de UNIX), primero conviértalos usando MySQL FROM_UNIXTIME()
función:
SELECT *
FROM table
WHERE timestamp_field BETWEEN FROM_UNIXTIME(1330560000)
AND FROM_UNIXTIME(1336170420)
O use UNIX_TIMESTAMP()
para convertir su columna a su representación UNIX:
SELECT *
FROM table
WHERE UNIX_TIMESTAMP(timestamp_field) BETWEEN 1330560000 AND 1336170420