I have a table names 'tbl_featured_professional' where fields are:
id,
user_id,
ranking and
score,
createdDate
What I want is first 40 records are ordered from ranking (which is unique) and all other records after 40 which are ordered by score. I want to do it from mysql and not from PHP. How can I do this? Thank you.
If ranking -- as its name implies -- is a number starting at 1 and incrementing, then:
select fp.*
from tbl_featured_professional fp
order by (fp.ranking <= 40) desc,
(case when fp.ranking <= 40 then ranking end),
score;