I can see no difference in my time measurements in changing the "order by
desc limit 1" to "max".

> >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