in reply to Help with manipulating data from a database??
An SQL guru could probably show you how to do this in the query statement (perhaps using a MIN() function), rather than retrieving a lot of data that you really aren't interested in and then filtering through it, but I don't have enough mojo to whip it off without testing and I don't have time to test right now. :-)
That said, you could declare a hash (my %bus_stops) before the while loop and then do something like this in the loop itself:
next if( $bus_stops{$service}{dist} < $distance ); $bus_stops{$service}{dist} = $distance; $bus_stops{$service}{stop_ref} = $stops;
You may also find the fetchall_arrayref() and fetchall_hashref() methods useful. They allow you to retrieve all of the results at once (rather than looping over a fetch statement), but the practicality of doing that depends on how many results you plan to retrieve. :-)
|
---|