精华内容
下载资源
问答
  • 怎么按照指定的顺序排序
    千次阅读
    2021-08-11 17:27:33

    今天 突然 接到了一个需求改动 是这样的  假设 A (0,1,2,3,4)字段有几个值 则按照这个值进行不规则的排序(2,1,4,3,0)

    这样的话就会没有规律去进行排序,值可以自己进行自定义排序我用到了这个方法

        order by A  WHEN '2'  THEN  1  WHEN '1'THEN 2  WHEN '4' THEN 3  WHEN '3' THEN 4 WHEN '0' THEN 5  END

    具体讲解一下 order by 后面是需要进行排序的字段,WHEN  是值   THEN  顺序  以此类推  END 为结束 ;

    Oracle自定义排序:

    order by decode(A, '2', 1, '1', 2, '4', 3, '3', 4, '0', 5);

    ————————————————
    版权声明:本文为CSDN博主「叫三石」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42726306/article/details/86535373

    更多相关内容
  • dataframe 按照指定顺序排序

    千次阅读 2021-06-28 11:14:53
    如下index 按照区间排序 ['0_5', '6_9','10_14', '15_19', '20_29', '30_49', '50_99', '100_199', '200_299', '300_399','400_1000'] a b c d e f g h 0_5 0.05836 0.27791 0.38913 0.05282 0.04625 0.00162 0....

    如下index 按照区间排序  ['0_5', '6_9','10_14', '15_19',  '20_29',  '30_49', '50_99', '100_199', '200_299', '300_399','400_1000']

    abcdefgh
    0_50.058360.277910.389130.052820.046250.001620.023430.06217
    100_1990.056870.269010.364380.060240.049720.001490.029460.07987
    10_140.055470.273480.396200.052520.044690.001690.024130.06581
    15_190.056980.270870.398040.052510.044170.001330.023240.06679
    200_2990.058400.255210.358030.063780.052520.001670.031520.08889
    20_290.055440.272260.394790.052640.044860.001640.024170.06892
    300_3990.059790.241890.357840.065970.053650.001510.030690.09904
    30_490.056540.273530.386340.053400.045550.001570.024360.06994
    400_10000.056010.231320.358050.067630.057340.001440.032050.10433
    50_990.057570.274370.372330.056030.047710.001620.026540.07371
    6_90.055330.274380.398550.052370.045360.001770.02272

    0.06442

     一行代码就可以了,  如果要在列中对某一列排序,可以把那一列设置为index , 然后在排序, 很方便

    
    sort_list = ['0_5', '6_9','10_14', '15_19',  '20_29',  '30_49', '50_99', '100_199', '200_299', '300_399','400_1000']
    dd = dd.loc[sort_list]
    abcdefgh
    0_50.058360.277910.389130.052820.046250.001620.023430.06217
    6_90.055330.274380.398550.052370.045360.001770.022720.06442
    10_140.055470.273480.396200.052520.044690.001690.024130.06581
    15_190.056980.270870.398040.052510.044170.001330.023240.06679
    20_290.055440.272260.394790.052640.044860.001640.024170.06892
    30_490.056540.273530.386340.053400.045550.001570.024360.06994
    50_990.057570.274370.372330.056030.047710.001620.026540.07371
    100_1990.056870.269010.364380.060240.049720.001490.029460.07987
    200_2990.058400.255210.358030.063780.052520.001670.031520.08889
    300_3990.059790.241890.357840.065970.053650.001510.030690.09904
    400_10000.056010.231320.358050.067630.057340.001440.032050.10433
    展开全文
  • python 按照指定顺序排序

    千次阅读 2020-11-17 16:36:10
    ranks = [‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘T’, ‘J’, ‘Q’, ‘K’, ‘A’] ...要排序的:r r = [‘5’, ‘2’, ‘7’, ‘8’, ‘3’, ‘Q’, ‘K’, ‘4’, ‘6’,

    ranks = [‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘T’, ‘J’, ‘Q’, ‘K’, ‘A’]
    ranks_value = {‘2’: 2, ‘3’: 3, ‘4’: 4, ‘5’: 5, ‘6’: 6, ‘7’: 7, ‘8’: 8, ‘9’: 9, ‘T’: 10, ‘J’: 11, ‘Q’: 12, ‘K’: 13,
    ‘A’: 14}

    要排序的:r
    r = [‘5’, ‘2’, ‘7’, ‘8’, ‘3’, ‘Q’, ‘K’, ‘4’, ‘6’, ‘9’, ‘T’, ‘J’, ‘A’]

    new = sorted(r,key=lambda x:ranks_value[x])
    print(new)

    
    ranks = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A']
    
    ranks_value = {'2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'T': 10, 'J': 11, 'Q': 12, 'K': 13,
                   'A': 14}
    
    r = ['5', '2', '7', '8', '3', 'Q', 'K', '4', '6', '9', 'T', 'J', 'A']
    
    new = sorted(r, key=lambda x: ranks_value[x])
    print(new)
    
    

    在这里插入图片描述

    展开全文
  • Mysql之按照指定顺序排序 场景 select <include refid="Base_Column_List" /> from student <where> id in <foreach collection="ids" item="item" open="(" separator="," close=")"> #{...

    问题场景

        select
        <include refid="Base_Column_List" />
        from student
        <where>
          id in
          <foreach collection="ids" item="item" open="(" separator="," close=")">
            #{item}
          </foreach>
          and deleted = 0 
        </where>
    

    写sql用到in 的时,有时候传入的ids是有特定的顺序的,然而一般查询后返回的结果会丢失掉这种顺序性,例如

    select * from student where id in (2, 3, 4, 1)
    

    结果为
    查询结果

    解决方案

    当然我们可以在业务代码中进行后续矫正,但如果要在sql中保持原本的顺序性不变,可以用到MySQL自定义排序函数FIELD()

    select * from student where id in (2, 3, 4, 1) ORDER BY FIELD(id, 2, 3, 4, 1)
    

    结果
    orderByField结果
    mybatis里加上order by field即可

        select
        <include refid="Base_Column_List" />
        from student
        <where>
          id in
          <foreach collection="ids" item="item" open="(" separator="," close=")">
            #{item}
          </foreach>
          and deleted = 0 
        </where>
        ORDER BY FIELD
          <foreach collection="ids" item="item" open="(" separator="," close=")">
            #{item}
          </foreach>
    

    函数FIELD(value,str1,str2,str3,…)

    原理: 返回value 在列表(s1,s2…)中的位置下标,等于str1返回1,等于str2返回2,若都没命中则返回0

    SELECT FIELD(5, 5, 4, 3);  #结果为1
    
    SELECT FIELD("c", "a", "b", "c", "d", "e");  #结果为3
    
    SELECT FIELD("f", "a", "b", "c", "d", "e");   #结果为0
    

    所以order by field()如果用于 结果集 不包含于 排序集的情况,结果可能会和我们期望的不一样,例如

    select * from student  ORDER BY FIELD(id, 5, 4, 3) 
    

    结果为
    在这里插入图片描述
    带入field函数功能,其实就很好理解了,默认升序,各数据field得分如下:
    在这里插入图片描述
    性能: 对性能有一定要求的话肯定得避函数而远之,根据自己的情况选择

    explain select * from student ORDER BY FIELD(id, 2, 3, 4, 1); 
    # ALL
    
    explain select * from student where id in (2, 3, 4, 1)ORDER BY FIELD(id, 2, 3, 4, 1);
    # range
    

    ELT()函数和FIELD()函数类似,大家有兴趣也可以一块学习下。

    展开全文
  • 1、按照oracled的默认方式排序:select * fromtable_nameorderby col_name (desc|...2、按照自定义的顺序排序:select* fromtable_nameorder by decode(col_name,‘value1‘,1,value2‘,2,value3‘,3,value4‘,4,.....
  • js按照指定顺序排序

    千次阅读 2020-06-01 15:43:08
    let order = ['其他','0'] let tableData=[{name:'0'},{name:'其他'}] tableData = data.sort((a, b) => { return order.indexOf(a.name) - order.indexOf(b.name) })
  • 手记-- encoding=utf-8 --python3... 按字典值排序(默认为升序)x = {1:2, 3:4, 4:3, 2:1, 0:0}sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1))print sorted_x[(0, 0), (2, 1), (1, 2), (4, 3), (3...
  • 集合按照指定顺序排序

    千次阅读 2018-09-19 11:20:57
    对一个集合按照指定id进行排序 package com.example.zhoujian.newfeaturedemo.bean; public class PersonBean { private int id; private String name; public PersonBean(int id, String name) { ...
  • 本文实例讲述了Python3实现对列表按元组指定列进行排序的方法。分享给大家供大家参考,具体如下:Python版本: python3.+运行环境: Mac OSIDE: pycharmPython内建的排序方法1 排序方法介绍Python中有2个排序函数,...
  • 本文实例讲述了Python常见排序操作。分享给大家供大家参考,具体如下:字典排序按value排序d1 = {"name":"python","bank":"icbc","country":china}# reverse是否...
  • 按照指定顺序排序

    2017-05-24 09:20:59
    sqlserver 指定某个字段的顺序排序SELECT * FROM Users u WHERE u.id IN (331,311,321) ORDER BY charindex(',' + CONVERT (VARCHAR, u.id) + ',',',331,311,321,') //当我们需要指定排序的时候,无论正序还是倒序...
  • 我们通常需要根据客户需求...一、如果我们只是对于在某个程序中的应用是需要按照如下的方式排序,我们只需在SQL语句级别设置排序方式:  1、按照oracled的默认方式排序:select * from table_name order by c
  • 问题:输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致。例如:import pandas as pdgrades = [48,99,75,80,42,72,68,36,78]df = pd.DataFrame( {'ID': ["x%d" % r ...
  • mysql实现按照自定义(指定顺序排序

    千次阅读 多人点赞 2022-01-31 17:50:35
    mysql实现自定义排序
  • PHP 多维数组按照指定顺序进行排序 public function ceshi() { $arr1 = array( array('id' => 1, 'name' => 'yhp'), array('id' => 2, 'name' => 'yhp2'), array('id' => 3, 'name' => ...
  • oracle按照指定顺序进行排序

    千次阅读 2021-05-24 13:49:39
    之前在网上查了下按照指定顺序进行排序的方法,根据charindex来处理排序,但是在oracle发现不行,因为oracle没有charindex函数,然后使用instr代替了charindex,然后又在网上搜了另外一种方 实验如下: 1.新建表...
  • mysql 按照指定顺序排序

    千次阅读 2019-06-26 15:17:45
    SELECT `ID` FROM table_name WHERE `ID` in (1,2,3,4,5) ORDER BY FIELD(`ID`,5,4,3,1,2); // 纯数字字段不用处理引号,比较好拼接 SELECT `ID` FROM table_name WHERE `ID` in (1,2,3,4,5) ORDER BY FIND_IN_SET...
  • pandas 按照指定顺序进行列排序

    千次阅读 2020-11-24 18:52:26
    pandas 按照指定顺序进行列排序 将排序列设置成“category”数据类型 list_custom = ['b', 'a', 'c'] df['words'] = df['words'].astype('category') df['words'].cat.reorder_categories(list_custom, inplace=True...
  • PostgreSQL 按指定顺序排序

    千次阅读 2021-07-12 11:31:29
    因为PostgreSql没有order by field 所以按照指定顺序排序就没有这么简单了,可以使用case when then进行排序 示例一 SELECT stage, pln_status FROM project ORDER BY CASE WHEN pln_status = '规划' THEN 1 ...
  • js 把数组按照指定顺序排序

    千次阅读 2020-09-15 08:48:42
    objs.sort(function(a,b){ // order是规则bai objs是需要排序的数du组 var order = ["wipe", "fly", "iris", "flip", "cube", "blur", "zoom", "fade", "glow", "rotate"]; return order.indexOf(a.type) - order....
  • 目录方案一、通过order by instr实现指定顺序排序方案二:通过order by decode补充:通过拼音、比划、部首排序方法使用拼音排序使用部首排序使用笔画数排序 在做报表展现时,会遇到这样的需求,按照某个字段指定的...
  • DataFrame按某种指定顺序排序

    千次阅读 2020-09-02 11:24:57
    DataFrame按某种指定顺序排序创建待排序DataFrame并指定排序列表对DataFrame排序 创建待排序DataFrame并指定排序列表 import pandas as pd import numpy as np # 创建待排序dataframe name = ['Tom', 'John', '...
  • PostgreSql按照指定顺序排序

    千次阅读 2019-07-21 14:00:07
    因为PostgreSql没有order by field 所以按照指定顺序排序就没有这么简单了,可以使用case when then进行排序 select stage,pln_status from project ORDER BY case when pln_status = '规划' then 1 when pl....
  • MySql按照指定顺序排序

    千次阅读 2018-07-13 10:42:42
    记录Order By,手动指定排序 order by field(value,str1,str2,str3,str4,,,,,,strn) 其中value后面的参数自定义,不限制参数个数
  • mysql根据指定顺序排序

    千次阅读 2018-09-28 16:14:43
    select * from table t ORDER BY field(t.pass_flag,'1','0','2','-1','3') (t.pass_flag,'1','0','2','-1','3')中t.pass_flag是字段,后面是排的顺序
  • js数组sort()方法按指定顺序排序

    千次阅读 2021-03-16 15:50:32
    js数组排序,sort()方法按指定顺序排序
  • DB2按照字段的指定顺序排序

    千次阅读 2019-07-02 10:08:12
    现在需要按照 2, 1, 3 的顺序排序,该怎么办呢? MySql中可以: select * from my_table where code in(1, 2, 3) order by field(code, 2, 1, 3) DB2中有个函数decode,用法为 decode(column, case1, value1, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 467,679
精华内容 187,071
关键字:

怎么按照指定的顺序排序