oracle如按照自己的要求实现数据排序排序

当我正常查询排序的时候显示的是这种结果

厦门 2
北京 3
上海 4
深圳 4

我如果想实现还是按照排序结果排序,但是 我想自定义让 厦门 排在 深圳后面,然后显示的结果是

北京 3
上海 4
深圳 4
厦门 2

这样的顺序

第二种 正常查询排序的结果是

厦门 2
北京 3
上海 4
深圳 4
广东 5

自己自定义排序的结果 ,就是自定义吧 深圳 厦门 放在 广东 后面 ,并且 进行了单独排序

北京 3
上海 4
广东 5
深圳 4
厦门 2

select name ,count(name) from namedate group by name order by count(name) 

img

如果是这样的情况你需要自定义一张排序表,该表两个字段 城市(VEARCHAR2),顺序(NUMBER)
然后在这张表定义好顺序。之后和查询结果关联,根据这个表的顺序进行排序