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