精华内容
下载资源
问答
  • 多字段排序

    2020-04-16 23:35:05
    一直以来,十分羡慕EXCEL中的排序功能,曾次在各种搜索引擎搜索类似的功能实现(C/C++),但一直无缘得见。 需求来源: 比如有以下数据 name age sex score 1 liwu 15 m 66 2 wanger 14 f 79 3 zhangliu...

    一直以来,十分羡慕EXCEL中的排序功能,曾多次在各种搜索引擎搜索类似的功能实现(C/C++),但一直无缘得见。

    需求来源:

    比如有以下数据

      name	   age	  sex	score
    1  liwu	    15	  m	    66
    2  wanger	14	  f	    79
    3  zhangliu	17	  f	    38
    4  zhangsan	16	  m	    88
    5  zhangwu	16	  m	    77
    6  zhangwu	15	  f	    68
    7  wanger	18	  m	    99
    

    现在需要由用户选择按照某一列或者几列按照升序或者降序进行排序。

    比如:

    1.用户需要按照  name升序,age降序,score降序进行排序。

    如果是在excel中,只需要按照下图设置:

     即可轻松的获取到结果:

    如果用python实现:

    import pandas as pd
    
    d={上边的数据}
    df=pd.DataFrame(data=d)
    dfObj=df.sort_values(by=["name","age","score"],ascending=[True,False,False])
    print dfobj

    sort_values()函数的具体参数

    用法:


    DataFrame.sort_values(by=‘##',axis=0,ascending=True, inplace=False, na_position=‘last')

    参数说明

    参数 说明
    by 指定列名(axis=0或’index’)或索引值(axis=1或’columns’)
    axis 若axis=0或’index’,则按照指定列中数据大小排序;若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0
    ascending 是否按指定列的数组升序排列,默认为True,即升序排列
    inplace 是否用排序后的数据集替换原来的数据,默认为False,即不替换
    na_position {‘first’,‘last’},设定缺失值的显示位置

     实现也是如此的so easy!

    如果用C++实现:

    //仅为示意代码
    struct record
    {
      int index;
      stding name;
      int    age;
      char sex;
      int scode;
    };
    
    
    list<struct record> g_record;
    
    bool cmp(struct record& a,struct record& b)
    {
       if(strcmp(a.name,b.name)>0)
       .......
    }
    
    
    sort(g_record.begin(),g_record.end(),cmp);
    
    
    

    似乎只针对这一种比较,C++也可以解决。

    但是上边说了,每次比较的列是由用户指定的,编程时我们并不知道具体要根据那些进行排序,如果用C++,总不能把所有可能的比较全实现一遍。那假如列数也不固定,score 后边还有 score1,2,3.........

    幸亏我在github搜索了dataframe。

    https://github.com/hosseinmoein/DataFrame

    QT实现:

    https://github.com/dimkanovikov/MultisortTableView

    https://blog.csdn.net/koilin/article/details/7752575

    https://blog.csdn.net/qq78442761/article/details/84875123

    其他:

    https://blog.csdn.net/treesky/article/details/44034807

    JavaScript:

    https://ej2.syncfusion.com/documentation/grid/sorting/#sorting

    c#:

    https://www.codeproject.com/Articles/21515/Adding-Multicolumn-sorting-to-ListViewSortManager

    https://www.codeproject.com/Articles/18440/DataGridView-Multi-column-Sort

    一个收费软件倒是实现了这个功能:

    QtitanDataGrid 

    https://www.devmachines.com/qtitandatagrid-overview.html

    展开全文
  • 多字段排序 语法:要注意的是, FIELD 后面是没有空格的. ORDER BY FIELD(`id`, 5, 3, 7, 1) 1:某字段自定义排序 select * from edu_apply_abc order by field(status,'1','0','2') asc 2:多字段排序 &&...

    自定义排序解决方案 && 多字段排序

    语法:要注意的是, FIELD 后面是没有空格的.

    ORDER BY FIELD(`id`, 5, 3, 7, 1)
    

    1:某字段自定义排序

    select * from edu_apply_abc order by field(status,'1','0','2') asc
    

    2:多字段排序 && 多字段自定义排序

    select * from edu_apply_abc order by id asc,create_time desc
    
    
    select * from edu_apply_abc order by field(status,'1','0','2') asc,create_time desc
    
    展开全文
  • mysql多字段排序

    2020-07-02 22:41:51
    如下图,再增加一个字段c2,进行多字段排序,c1为升序,c2为降序,由此就能说明多字段排序:通俗说就是,首先对c1进行相应的排序,然后对c2进行排序,对c2的排序基于c1的排序。就是说,c1排序完之后值相同的部分为一...

    数据库可以对多个字段进行排序,优先级顺序按照书写顺序
    说明: 对于多字段排序是这个样子的
    初始数据如下,观察c1字段中相同的数据:
    在这里插入图片描述
    观察上图,对于单一字段来说,可以进行排序
    如下图,再增加一个字段c2,进行多字段排序,c1为升序,c2为降序,由此就能说明多字段排序:通俗说就是,首先对c1进行相应的排序,然后对c2进行排序,对c2的排序基于c1的排序。就是说,c1排序完之后值相同的部分为一个排序部分,也就是下图红框和蓝框两部分,c2的红框部分进行降序排序,c2的蓝框部分也进行降序排序,因为c2红框部分id对应的c1红框部分的值是相同的,同理c2蓝框部分也是一样的
    在这里插入图片描述

    展开全文
  • TP5多字段排序很多人第一时间会想到手册里面的order,今天咱们就几种方法来处理排序的问题!1、实例化Expression类标题说了,是多字段排序,OK,没有问题,多字段排序,你只需要在实例化Expression类的时候写上就行...

    TP5多字段排序

    很多人第一时间会想到手册里面的order,今天咱们就几种方法来处理排序的问题!

    1、实例化Expression类

    标题说了,是多字段排序,OK,没有问题,多字段排序,你只需要在实例化Expression类的时候写上就行了

    这里只是大概写一下,具体的请根据自己的业务需求进行更改,这里我一共进行了四种不同字段不同需求的排序

    $exp = new Expression('field(table1.id,null),field(table2.id,null),convert(table3.field3 using gbk) asc,table4.id desc');

    2、orderRaw

    orderRaw("field(users.id, $ids)"),或者 order(Db::raw("field(users.id, $ids)"))

    3、使用模型order

    Model::where("id","in","3,6,9,1,2,5,8,7")->order("field(id,3,6,9,1,2,5,8,7)")->select();

    b6694de28c41e85c163180bb2681ea35.png

    当然,熟悉的朋友可以直接在->orderRawz中写原生的sql也是没有问题的。

    这里只是做一下记录,欢迎留言交流学习。

    展开全文
  • 研究了一下系统的数据库结构后,决定将要排除到后面的产品加为粗体,这样在数据库中的“ifbold”就会被标记为1,而其他产品就默认标记为0,然后就打算使用MySQL在Order By时进行多字段排序。Order by的多条件分割...
  • TP5多字段排序很多人第一时间会想到手册里面的order,今天咱们就几种方法来处理排序的问题!1、实例化Expression类标题说了,是多字段排序,OK,没有问题,多字段排序,你只需要在实例化Expression类的时候写上就行...
  • mysql 多字段排序

    千次阅读 2018-12-27 11:50:29
    1、排序关键字 ASC:升序; ...多字段排序只需要添加多个排序条件,并且每个排序的条件之前用逗号分开。 SELECT * FROM USER ORDER BY id DESC, age ASC; 先按照id降序,再按age升序。...
  • 如果的单一字段排序分页,现在有很多的存储过程和SQL语句,分页的时候,只取pageSize的记录,可遇见的问题是:这个单一字段必须是唯一的这个字段必须是可以被排序的不支持多字段排序针对这一问题,我用C#做了一个类...
  • 研究了一下系统的数据库结构后,决定将要排除到后面的产品加为粗体,这样在数据库中的“ifbold”就会被标记为1,而其他产品就默认标记为0,然后就打算使用MySQL在Order By时进行多字段排序。Order by的多条件分割...
  • 本文研究的主要是linux sort多字段排序,具体介绍如下。 Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序 sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内。 一下为一段数据(从...
  • 但是經常看到有人在問如何對元素的多字段排序。這個問題就像SQL語句裏面的‘Order By’語句,後面可以跟若干個排序條件。譬如對於元素Foo排序:class Foo{int a;int b;}Foo.a是第一排序字段,Foo.b是第二...
  • MySQL 多字段排序

    2021-03-03 16:53:21
    MySQL 多字段排序 如下: a desc,b desc let sql=`select * from continuousalarm order by StationCode desc , continuousalarm.Day desc`
  • JAVA实现多字段排序

    2020-11-22 18:30:32
    java如何实现多字段排序
  • Mybatis多字段排序

    万次阅读 2018-08-16 19:41:40
    后端采用Spring+SpringMVC+MyBatis,前端使用BootStrap和LigerUI,业务数据采用LigerUI的LigerGrid进行展示,由于LigerGrid只能支持单字段排序,有些时候业务需要进行多字段排序,刚好也准备重新换一下前端界面效果和...
  • sql多条件多字段排序是日常应用中比不可少的,本人搜集整理了一些,以供不时之需,需要了解的朋友可以参考下
  • C# IList多字段排序

    2012-12-07 14:19:05
    C# IList多字段排序
  • JAVA多字段排序

    千次阅读 2020-08-11 15:51:25
    使用JDK1.8的stream api可以轻松实现多字段排序 首先创建Student类如下 /** * @title * @author gavin * @date 2020年8月11日 */ public class Student { // 姓名 private String name; // 分数 private ...
  • java 大文件 多字段排序
  • 我们用angularjs {{}},ng-model循环绑定数组或对象的内容的时候,有时候会用到排序,有时候可能会有字段排序 具体要用到过滤 数据的展现,可以通过ng-repeat实现。当网页解析到ng-repeat的时候,会为每一个...
  • 生成多字段排序分页的SQL的通用类
  • tp5多字段排序

    2020-09-05 15:04:09
    tp5多字段排序 order("id desc,title desc,onclick desc")
  • from operator import itemgetter...# Key使用itemgetter多字段排序 a = [{'date': '2019-12-15', 'weather': 'cloud'}, {'date': '2019-12-13', 'weather': 'sunny'}, {'date': '2019-12-14', 'weather': 'cloud'...
  • 主要介绍了MySQL中按照多字段排序及问题解决的方法,非常的实用,有需要的小伙伴可以参考下。
  • oracle多字段排序

    千次阅读 2018-11-28 11:16:44
    生产中遇到的问题,两个保单生效日期都是同一日期,精确到日,所以通过日期无法准确排序,这时候就用到多字段排序! 不多说直接上sql: select p.policy_no "policy_no"  from client_information ci...
  • ElasticSearch多字段排序

    千次阅读 2020-05-01 18:36:45
    业务要求查询结果按多字段排序 例如商品要求正在促销的排在最前面,其次是评价值高的依次排序,这里通过Groovy Script脚本方式,将多个字段值的归为一个评分,然后进行排序 这里的es版本是5.x BoolQueryBuilder ...
  • 1、列表分页排序,前端使用dataTable,排序时有5列,有3列是p表的基本字段...2、我之前先查询出p表的基本字段排序分页,把count(p.parent_id)和count(o.style)分别查询,然后set到已经查询出来的p的排序分页列表中,...
  • /*** Sort List by multiple conditions.* It's like SQL 'Order by' clause. Input multiple Comparator* in List as argument.** @param * @param list* @param comparatorList* @throws IllegalArgumentException...

空空如也

空空如也

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

多字段排序