note
mikeB
You could use ForgotPasswordAgain's initial "won't work" idea as a subquery to grab the full record for the shortest distances.
<code>
select a.* from table_name a
join (
select min(distance) as min_dist,
service_id as min_id
from table_name
group by service_id
) b
on (a.distance = min_dist and a.service_id = min_id);
</code>
If <code>(service_id, distance)</code> is not a unique key, this will return all the stop_references with the minimal distance. This may be a Good Thing, depending on the application. If you want only one result, adding the appropriate <code>ORDER BY</code> and <code>LIMIT 1</code> clauses should do the trick.
<code>
/is not a guru
//tried it and it worked for me
</code>
624442
624442