尘里V 2018-02-26 03:25 采纳率: 40%
浏览 962
已结题

orcal数据库怎么按照指定中文进行排序

比如有4个选项“数学”,“语文”,“政治”,“地理”;
怎么才能按照 数 > 语 > 政 > 地 进行排序?

  • 写回答

5条回答 默认 最新

  • qq_14823253 2018-02-26 03:29
    关注

    ORACLE可以借助DECODE函数,自定义顺序排序:
    SELECT * FROM (
    SELECT '数学' AS ITEM FROM DUAL
    UNION ALL
    SELECT '语文' AS ITEM FROM DUAL
    UNION ALL
    SELECT '政治' AS ITEM FROM DUAL
    UNION ALL
    SELECT '地理' AS ITEM FROM DUAL
    ) PRE_TAB
    ORDER BY DECODE(ITEM, '数学', 1, '语文', 2, '政治', 3, '地理', 4);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Moluth 2018-02-26 03:30
    关注

    你可以给表中添加一列weight:
    id name weight
    1 语文 300
    这时候插入数学,数学优先于语文权重可以设置的大一些
    2 数学 800
    插入地理,地理优先级小于语文的
    3 地理 200
    插入政治
    政治是在语文和地理之间的
    4 政治 250

    select name from table order by weight desc

    评论
  • pzhxyzf 2018-02-26 03:30
    关注

    默认没有这种排列,只能看能不能建一个自己的序列了

    评论
  • I_am_worm 2018-02-26 06:50
    关注

    select * from
    table_name
    order by decode(col_name,'value1',1,value2',2,valueN',N)

    评论
  • fridayCodeFly 2020-02-05 22:24
    关注

    order by instr ('数学,语文,政治,地理')

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题
  • ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。
  • ¥100 高博一起做RGB-D SLAM(5)VO无法出visualisation问题
  • ¥15 使用matlab进行手眼标定的仿真验证,得到齐次矩阵与opencv相差较大