SELECT *
FROM table
WHERE (id, make_name) IN (('1995','TOYOTA'),('5015','FIAT'),('1010','BMW'))
ORDER BY CASE
WHEN id='1995' THEN 1
WHEN id='5015' THEN 2
WHEN id='1010' THEN 3
END
SELECT rate, type, route_id, weight, volume FROM (
SELECT rate, type, route_id, weight, volume,
CASE WHEN rs.volume >= 300 THEN
row_number() OVER (PARTITION BY route_id ORDER BY volume)
ELSE null END r_volume,
CASE WHEN rs.weight >= 50000 THEN
row_number() OVER (PARTITION BY route_id ORDER BY weight)
ELSE null END r_weight
FROM test_rates rs
WHERE
rs.dt_del IS NULL
AND (rs.volume >= 300 OR rs.weight >= 50000)
) WHERE r_volume=1 OR r_weight=1
ORDER BY rate DESC
LIMIT 1