精华内容
下载资源
问答
  • 多条件排序

    2019-09-30 10:14:25
    具体是要求根据优先级大小排序一遍,然后根据中文名排一遍,简单说就是二级排序了 var arrayData=[//测试数据 {name:"佛山",priority:2}, {name:"Wish邮_无锡",priority:1}, {name:"腌面",priority:5},...

    做项目有个产品需求;具体是要求根据优先级大小排序一遍,然后根据中文名排一遍,简单说就是二级排序了

     

    var arrayData=[//测试数据
        {name:"佛山",priority:2},
        {name:"Wish邮_无锡",priority:1},
        {name:"腌面",priority:5},
        {name:"新加坡",priority:2},
        {name:"4PX测试",priority:2},
        {name:"a鸡扒",priority:5},
        {name:"菜鸟",priority:1},
        {name:"台湾",priority:1},
        {name:"肉末",priority:5},
        {name:"7斤",priority:5},
        {name:"6测试",priority:2},
        {name:"披萨",priority:5}
    ];
    
    arrayData.sort(function (a,b) {//优先级排序一遍,因为需要从大排到小所以要reverse反序
      return a.priority - b.priority
    }).reverse();
    
    function chineseSort(array){//中文排序:数字》中文》英文
        return array.sort(function compareFunction(index1,index2) {
            return index1.name.localeCompare(index2.name,"zh");
        });
    };
    
    var cacheArr=[];//缓存数组
    var sortArr=[];//最终排序好的数组
    for (var i = 0,arrLen=arrayData.length; i < arrLen; i++) { if (i<arrLen-1) { var thisVal = arrayData[i].priority; var nextVal = arrayData[i+1].priority; if (thisVal==nextVal) { cacheArr.push(arrayData[i]) }else{ cacheArr.push(arrayData[i]) //cacheArr本身就是一个数组不能直接push添加,而要apply融合 sortArr.push.apply(sortArr,chineseSort(cacheArr)) cacheArr=[];//清空缓存数组 } }else{ cacheArr.push(arrayData[i]) sortArr.push.apply(sortArr,chineseSort(cacheArr)) } } console.log(sortArr)//结果

     

    转载于:https://www.cnblogs.com/konghaowei/p/9566181.html

    展开全文
  • Grasshopper 多条件排序

    2018-03-01 09:29:52
    Grasshopper 多条件排序 示例 通过set 以及 sort list 完成多条件排序
  • bitsCN.commysql多条件排序在数据库查询时,常常需要排序,而有时排序条件可能有多个.如数据库: a b 1 103 1 101 2 201 2 203 1 102 2 202排序后: a b 1 103 ...

    bitsCN.com

    mysql多条件排序

    在数据库查询时,常常需要排序,而有时排序条件可能有多个.

    如数据库: a b 1 103 1 101 2 201 2 203 1 102 2 202排序后: a b 1 103 1 102 1 101 2 203 2 202 2 201

    语句:SELECT A.a , A.b FROM TABLE A ORDER BY A.a ASC , A.b DESC

    其中ASC连接多条排序,且与后一条查询之间有逗号隔开!

    bitsCN.com

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • [java]代码库1.Mainpackage s0223多条件排序;import java.util.ArrayList;import java.util.Collections;import java.util.Date;import java.util.List;public class Main {public static void main(String[] args) ...

    [java]代码库1.Main

    package s0223多条件排序;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Date;

    import java.util.List;

    public class Main {

    public static void main(String[] args) {

    List news=new ArrayList();

    news.add(new NewsItem("中国登上钓鱼岛",100,new Date(System.currentTimeMillis() ) ) );

    news.add(new NewsItem("中国GDP总量",40,new Date(System.currentTimeMillis() ) ) );

    news.add(new NewsItem("美国总统与xx会晤",60, new Date(System.currentTimeMillis() ) ) );

    System.out.println("排序前:"+news);

    Collections.sort(news);

    //因为news中的元素都是Comparable的实现类的实例,所以默认使用指定的Comparator

    //如果使用comparator的实现类,那么要指定comparator

    System.out.println("排序后:"+news);

    }

    }

    2.NewsItem类,在这个类中定义了排序优先级和排序顺序

    package s0223多条件排序;

    import java.text.SimpleDateFormat;

    //新闻按时间降序,点击量升序,标题降序

    import java.util.Date;

    public class NewsItem implements java.lang.Comparable{

    private String title;

    private int hit;

    private Date pubTime;

    public NewsItem(){}

    public NewsItem(String title, int hit, Date pubTime)

    {

    super();

    this.title = title;

    this.hit = hit;

    this.pubTime = pubTime;

    }

    //新闻按时间降序,点击量升序,标题降序,3个if嵌套,规定了排序的优先级

    public int compareTo(NewsItem o)

    {

    int result=0;

    result=-this.pubTime.compareTo(o.pubTime);//加了- 变成降序

    if(result==0)

    {

    result=this.hit-o.hit;

    if(result==0)

    {

    result=this.title.compareTo(o.title);

    }

    }

    return result;

    }

    public String toString()

    {

    StringBuilder sb=new StringBuilder();

    sb.append(" 标题:").append(this.title);

    sb.append(" 时间:").append(new SimpleDateFormat("yyyy-MM-dd").format(this.pubTime));

    sb.append(" 点击量:").append(this.hit).append("\n");

    String str=sb.toString();

    return str;

    }

    public String getTitle() {

    return title;

    }

    public void setTitle(String title) {

    this.title = title;

    }

    public int getHit() {

    return hit;

    }

    public void setHit(int hit) {

    this.hit = hit;

    }

    public Date getPubTime() {

    return pubTime;

    }

    public void setPubTime(Date pubTime) {

    this.pubTime = pubTime;

    }

    }

    694748ed64b9390909c0d88230893790.png

    展开全文
  • python多条件排序

    千次阅读 2017-09-22 12:51:08
    python多条件排序


    多条件排序及itemgetter的应用
    曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。
    之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相同按进球数,再相同按失球数。
    即按积分P、净胜球GD、进球GS、失球GA这样的顺序。
    在python中,排序非常方便,排序的参数主要有key、reverse。参数cmp不建议使用了,在python3.0被移除了,用参数key代替。
    对于多条件排序,也非常简单,只需要记住下面这句话就行。 即参数key指定的函数返回一个元组,多条件排序的顺序将按照元组的顺序。
    看了下面的代码你就明白了,下面是2010世界杯小组赛A组的积分榜。

    1
    2
    3
    4
    5
    6
    teamitems = [{'team':'France'   , 'P':1 , 'GD':-3 , 'GS':1 , 'GA':4},
          {'team':'Uruguay'   , 'P':7 , 'GD':4 , 'GS':4 , 'GA':0},
          {'team':'SouthAfrica' , 'P':4 , 'GD':-2 , 'GS':3 , 'GA':5},
          {'team':'Mexico'   , 'P':4 , 'GD':1 , 'GS':3 , 'GA':2}]
      
    print sorted(teamitems ,key = lambda x:(x['P'],x['GD'],x['GS'],x['GA']),reverse=True)

    输出

    1
    2
    3
    4
    [{'P': 7, 'GD': 4, 'GS': 4, 'GA': 0, 'team': 'Uruguay'},
     {'P': 4, 'GD': 1, 'GS': 3, 'GA': 2, 'team': 'Mexico'},
     {'P': 4, 'GD': -2, 'GS': 3, 'GA': 5, 'team': 'SouthAfrica'},
     {'P': 1, 'GD': -3, 'GS': 1, 'GA': 4, 'team': 'France'}]

    即小组排名是乌拉圭、墨西哥、南非、法国。

    不过这样一个个取字典的键值有点啰嗦,用itemgetter更简洁优雅,上面那句代码可以用如下替换。

    1
    2
    from operator import itemgetter
    print sorted(teamitems ,key = itemgetter('P','GD','GS','GA'),reverse=True)

    有的升序有的降序的情况下怎么多条件排序
    之前在统计导出各区服玩家消费的时候需要进行升序降序混搭的多条件排序。
    需求是这样的。区服从小到大排,如果区服相同,则按消费从大到小排。
    实现方法是利用python的sort算法是稳定排序,对数据进行多次排序,先排次要条件,后排主要条件。
    还有一种更简洁的一行流的方法,不过只有当待排数据是数值的时候才有效。此方法利用相反数的性质,在前面加个负号。
    下面上代码。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #假设数据如下。
    data = '''''
    区服,玩家id,累积消费
    3,a,2380
    1,b,11900
    4,e,3250
    1,k,100
    4,j,599
    2,m,872
    3,f,5560
    1,y,2500
    '''
      
    items = [x.split(',') for x in filter(None,data.split('\n'))[1:]] #去掉空行和忽略首行并把字符串转成二维数组
    #方法一
    items.sort(key=lambda x:int(x[2]),reverse=True)#先排消费
    items.sort(key=lambda x:int(x[0]))#然后排区服
    print '\n'.join([','.join(x) for x in items])
    print '-----------'
      
    #方法二
    items = sorted(items,key=lambda x:(int(x[0]),-int(x[2])))
    print '\n'.join([','.join(x) for x in items])

    20166793312253.jpg (134×277)


    展开全文
  • 多条件排序及itemgetter的应用 曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则...
  • 概述多条件排序可以通过在order by语句后面使用case when then条件语句来实现。select * from 表名 ORDER BY case when 条件 then 0 else 1 end下面用实例演示下:实例1.创建表case_test共有id,case_type,case_...
  • Sql多条件排序

    2019-10-05 08:15:22
    多条件排序可以通过在order by语句后面使用case when then条件语句来实现。 select * from 表名 ORDER BY case when 条件 then 0 else 1 end 例子: 1.创建表case_test 共有id,case_type,case_location...
  • 让 Redis zset 支持多条件排序

    千次阅读 2019-11-01 23:31:29
    Redis 的 zset 可以很方便的实现一个排行榜,但是只通过单纯的 score 和 key 排序并不满足一些需要多条件排序的需求。本文将会介绍一些通过计算让 zset 的 score 支持多条件排序的方法。...
  • 项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现。充分体现了python的好处了。 复制代码 代码如下: teamitems = [{‘team’:’France’ , ‘P’:1 , ‘GD’:-3 , ‘GS...
  • 在实际开发过程中难免会遇到多条件动态排序,...//定义多条件排序 StringBuffer stringBuffer = new StringBuffer(" order by "); if (soldTotal != null) { stringBuffer.append("sold_total "); if (soldTotal =
  • 你的位置:问答吧->...我最近作一个项目 要实现的效果是 查询 一张表,取出全部符合的结果,然后按照多条件排序要求效果:1. select * form 表 where 时间 between now~3天前and 推荐属性=1 o...
  • 关于多条件排序

    2021-03-22 13:53:59
    记录一下关于多条件排序的简单实现方法。 class OrderbySample2 { // The element type of the data source. public class Student { public string First { get; set; } public string Last { get; set; } ...
  • Js中的多条件排序,多列排序

    千次阅读 2014-11-18 21:15:47
    Js中的多条件排序,多列排序,多重排序实现
  • Order by 多条件排序

    千次阅读 2018-12-07 10:36:42
    首先了解一下基础知识: order by可以按一个或多个(最多16个)字段排序查询结果...最近由于需要对一张表进行排序,由前端传递排序字段以及排序规则,由于忽视了多条件排序规则,所以导致BUG。 首先来看一下表数据...
  • 多条件排序解决方案

    千次阅读 2015-10-15 17:04:24
    多条件排序 多条件排序1,按照两个条件排序,第一个条件为主当第一个条件相同,会按照第二个条件查询 order by condition1,condition2 desc 多条件排序2,按照两个条件筛选,第一个条件筛选作为一个结果集,第二个...
  • mysql多条件排序

    千次阅读 2014-10-31 20:58:08
    mysql多条件排序   在数据库查询时,常常需要排序,而有时排序条件可能有多个.   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
  • MyBatis.多条件排序

    千次阅读 2019-09-26 05:27:51
    MyBatis.多条件排序 <if test="orderBy != null"> order by <choose> <when test='orderBy=="age"'>age</wh...
  • C# List多条件排序

    2019-10-23 19:04:58
    多条件排序示例: 首先根据微信号升序,其次时间降序,代码比较简单,自己看吧. class clsMessage { public string ID = ""; public string 时间 = ""; public string 联系人 = ""; public string 微信号 = ""; ...
  • js的sort方法,我们一般传入一个回调用于单排序,也就根据某一个条件排序,那么一个场景需要多条件排序(多重排序),我们怎么处理呢? 如下例子,我们按学生的总分排序,如果总分相等,我们再按照语文成绩排序。 var ...
  • 多条件排序及itemgetter的应用曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按...
  • matlab多条件排序——sortrows

    千次阅读 2019-05-19 18:33:14
    matlab矩阵多条件排序 问题描述 给定一个matlab矩阵,我想先按第二列升序对矩阵进行排序,然后再此基础上按第一列升序排序。也就是我 a = [2.5 5 6.4 10 5.1 5 5.8 25 ...
  • java Collections 排序--多条件排序

    千次阅读 2016-07-01 16:52:45
    java Collection 排序–多条件排序// 气象告警排序 Collections.sort(domesticAirport, comparator);// 气象告警排序 Comparator<AirportRtWeatherWarningBeanForTable> comparator = new Comparator...
  • 我就废话不说了,大家还是直接看代码吧~// 告警排序Collections.sort(domesticAirport, comparator);// 告警排序Comparator comparator = new Comparator() {@Overridepublic int compare...
  • JS数组多条件排序基于Array.sort()方法,首先要了解sort()方法的用法。 sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序。 eg: var a = [2, 3, 5, 1, 0, 9] a.sort(function(a, b){...
  • sql server 2000里多条件分组和多条件排序,请问排序和分组谁制约谁?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,385
精华内容 2,954
关键字:

多条件排序