Have you thought of sorting by the day of the week. Firstly you have to get the day of the week, check the statement below to get the day of the week. If you try to order day of the week by using ORDER BY on column 3 which is a character column, ORDER BY treats this as text and sorts it from A-Z. So if your intention is to sort from MONDAY to SUNDAY, beginning with MONDAY as day1 and SUNDAY as day7 then you need to use either CASE or DECODE functions. Check an example with decode below.