отсортироваить результат select с regexp по количеству совпадений?

krot-s
Дата: 05.06.2006 13:39:08
Люди, помогите. Как можно отсортировать результат такого вот запроса:
select name from catalog where regexp_like (name, '.*film.*', 'i')
по количеству совпадений, т.е. так чтобы строка "films films " была первой?
Заранее благодарен.
orawish
Дата: 05.06.2006 14:33:25
select name from (
 select 'film-Film-film' name from dual
 union select 'Film-film' name from dual
 union select 'Film-film-film-film' name from dual
 )
   where regexp_like (name, '.*film.*', 'i') 
order by length(regexp_replace(name,'film',null,1,0,'i')) desc
krot-s
Дата: 05.06.2006 14:48:53
Спасибо большое!