Suponiendo que los límites del cuadro delimitador dados están en el mismo sistema de referencia espacial que las coordenadas almacenadas, y usted sabe qué operador espacial (interseca o contenido) necesita:
SELECT *
FROM my_table
WHERE coordinates
&& -- intersects, gets more rows -- CHOOSE ONLY THE
@ -- contained by, gets fewer rows -- ONE YOU NEED!
ST_MakeEnvelope (
xmin, ymin, -- bounding
xmax, ymax, -- box limits
my_srid)
Alternativamente, si prefiere el sonido de "contiene" (en lugar de "contenido por"), la WHERE
cláusula debería cambiarse:
WHERE ST_MakeEnvelope (...)
~ -- contains, gets same fewer rows
coordinates
PD: Dado (por OP después de que se publicó lo anterior) que los registros son puntos simples, creo que la diferencia entre "intersecciones" y "contención" se vuelve muy sutil, afectando solo los puntos en los bordes del cuadro delimitador.