Key Table:
trip (trip_id, passenger_id, start_location_id, end_location_id)
You may have a location table with information about stops.
Then the request will be simple
select start_location_id, end_location_id, count(*)
from trip
group by start_location_id, end_location_id
having count(*)>=2
Edit
, , . , 2 , , 2 , ? , (Al, L1, L2), (Betty, L1, L2), (Carl, L1, L3), (Donna, L2, L4), :
L1, L2, 2
( )?
L1, 3
L2, 3
, . , :
select location, sum(visits)
from
(
select start_location_id as location, count(*) as visits
from trip
union
select end_location_id as location, count(*) as visits
from trip
)
group by location
having sum(visits)>=2
order by location
, .
, , trip_stop:
trip_stop (passenger_id, location_id, stop_number)
stop_number - , , 1 2 .
, , , , , .
select location_id, count(*)
from trip_stop
group by location_id
having count(*)>=2
order by location_id