something like this?
select
tags->'name' as name,
ST_Transform(way,4326) as pt_lonlattext
from planet_osm_point
where lower(tags->'name') LIKE '%school%'
order by case when lower(tags->'name') = 'school' then 0 else 1 end
or, more DRY version:
with cte as (
select
tags->'name' as name,
ST_Transform(way,4326) as pt_lonlattext
from planet_osm_point
)
select name, pt_lonlattext
from cte
where lower(name) like '%school%'
order by case when lower(name) = 'school' then 0 else 1 end