tickernameというカラムを持つCompanyモデルがあり、
tickerに完全一致するかnameに部分一致する物を取り出したいので

Company.where('ticker=? OR name ilike ?', str, "%#{str}%")

としてるのですが、tickerに完全一致するものを先頭にもってきたいと思っています。

はじめは検索クエリが2回走ってしまうことを無視して

Company.where(ticker: str) + Company.where('name like ?',"%#{str}%")

としようかと思ったのですが、これではArrayを返すのでPaginationの処理でこけてしまいました。

このように複数条件をOR検索する時に
一つ目の条件に一致するものを先頭に持ってくるという処理に一般的な方法はありますか?