select S.*,
(select S1.location from services S1 where S1.main = S.main and (S1.list is null or S1.list = '')) head_index
from services S
order by head_index, S.list is null or S.list = '' desc, S.location is null or S.location = '' desc, S.location
(select S1.location from services S1 where S1.main = S.main) min_id
Если потребление не выходит за 100 Вт, значит разъем доп. питания не работает.
Если доп. питание подключено через переходник, то будьте осторожны на пиковых нагрузках - переходные молекс разъемы могут перегреться.