Brannon King wrote:

I'm wondering if the following query can be done as a single query rather
than running it in a (nested) loop.

Suppose a database with five columns; xStart, yStart, xEnd, yEnd, score. I
need the maximum score at the midpoint of the line quantized to a 64x64
grid. Psuedo code:

query = prepare("
SELECT score FROM db WHERE
(xStart+xEnd)/2 >= :left AND
(xStart+xEnd)/2 < :right AND
(yStart+yEnd)/2 >= :top AND
(yStart+yEnd)/2 < :bottom
ORDER BY score DESC LIMIT 1
")


Try:

SELECT MIN(score) FROM db WHERE
(xStart+xEnd)/2 >= :left AND
(xStart+xEnd)/2 < :right AND
(yStart+yEnd)/2 >= :top AND
(yStart+yEnd)/2 < :bottom




Reply via email to