数据排序,该如何处理

数据排序
审批时间        单号       号码      状态
26               1          187       接单中
26               2          185       未结单
26               3          186       结单中
27               4          187       未结单
25               5          182       未结单
28               6          184       接单中

碰到一个sql排序的问题。我有这么一组数据。我需要得到得最终结果是:

审批时间        单号       号码      状态
25               5          182       未结单
26               1          187       接单中
27               4          187       未结单
26               3          186       结单中
26               2          185       未结单
28               6          184       接单中

先按照审批时间正序排序,    然后相同号码的放在一起、     再然后是接单中的排在前面,怎么排呢。求解。
------解决思路----------------------
WITH 
/* 测试数据
table1(审批时间,单号,号码,状态)AS(
    SELECT 26,1,187,'接单中' UNION ALL
    SELECT 26,2,185,'未结单' UNION ALL
    SELECT 26,3,186,'结单中' UNION ALL
    SELECT 27,4,187,'未结单' UNION ALL
    SELECT 25,5,182,'未结单' UNION ALL
    SELECT 28,6,184,'接单中'
),*/
a AS (
    SELECT 号码,
           MIN(审批时间) firstTime,
           MIN(状态) state,
           MIN(单号) firstNo
      FROM table1
  GROUP BY 号码
)
SELECT b.*  -- 结果部分
       ,a.* -- 调试输出部分
  FROM table1 b
  JOIN a
    ON b.号码 = a.号码
ORDER BY a.firstTime, a.state, a.firstNo, b.号码, b.状态

   审批时间        单号        号码 状态          号码   firstTime state      firstNo
----------- ----------- ----------- ------ ----------- ----------- ------ -----------
         25           5         182 未结单         182          25 未结单           5
         26           1         187 接单中         187          26 接单中           1
         27           4         187 未结单         187          26 接单中           1
         26           3         186 结单中         186          26 结单中           3
         26           2         185 未结单         185          26 未结单           2
         28           6         184 接单中         184          28 接单中           6