精华内容
下载资源
问答
  • 利用 sortrows 函数实现MATLAB 先按第一列排序(主排序)然后再按第二列排序(次排序) A = [8,9,6;5,5,2;2,5,8] sortrows(A) A = 8 9 6 5 5 2 2 5 8 ans = 2 5 8 5 5 2 ...

    利用 sortrows 函数实现MATLAB 先按第一列排序(主排序)然后再按第二列排序(次排序)

    A = [8,9,6;5,5,2;2,5,8]
    sortrows(A)
        
    A =
    
         8     9     6
         5     5     2
         2     5     8
    
    
    ans =
    
         2     5     8
         5     5     2
         8     9     6
    
    展开全文
  • oracle多列排序,先按第一列,然后按第二列、第三......。  直接在order by后面追加即可,亲测有效。


    oracle多列排序,先按第一列,然后按第二列、第三列......。 




    直接在order by后面追加即可,亲测有效


    展开全文
  • oracle中A分组,B列排序,取B中第一数据的查询

    在写SQL的时候为了统计或者给数据排序的时候,我们会遇到需要A列数据一致,B列数据排序取B列数据最大的一条这种情况。那这种情况我们该如何去写SQL呢?

    我们可以按照我们的思路去一步步分解。我们想要的数据就是A列分组和B列排序,第一反应是 ROW_NUMBER() OVER(PARTITION BY)函数。知道我们需要使用什么函数之后我们就很好写了。

    话不多说,直接举个栗子。现有一张表T,T中有字段 a,b,c,d我们需要c字段相同,d字段最大的数据。SQL如下:

    SELECT C,D FROM(       
    SELECT C,D ,ROW_NUMBER()OVER(PARTITION BY C ORDER BY D DESC) AS R
    FROM(       
    SELECT T.C, T.D FROM T T 
    )   
    ) WHERE R=1
    我这里选择的是最大的数据,我们可以根据我们的需求去做相应改变。

    展开全文
  • C#,listView按列排序、listView数据快速载入
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace ListViewSpace
    {
        /// <summary>
        /// 对ListView点击列标题自动排序功能,快速载入大量数据至listView
        /// </summary>
        public class ListViewUpdate
        {
            / <summary>
            / 添加data至listView中进行显示
            / </summary>
            //public static void addToListView(ListView listView, List<String> data)
            //{
            //    if (data.Count > 0)
            //    {
            //        ListViewItem iteam = new ListViewItem(data.ToArray());
            //        listView.Items.Add(iteam);
            //    }
            //}
    
            /// <summary>
            /// 添加AllDatas至listView中进行显示
            /// </summary>
            public static void addToListView(ListView listView, List<List<String>> AllDatas)
            {
                // 移除原有数据
                listView.Items.Clear();
    
                // 生成listView数据
                List<ListViewItem> listIteams = new List<ListViewItem>();
                foreach (List<String> iteamData in AllDatas)
                {
                    ListViewItem iteam = new ListViewItem(iteamData.ToArray());
                    //iteam.ImageIndex = 0;	// 可指定ListViewItem图标索引
    
                    listIteams.Add(iteam);
                }
    
                // 添加至listView中进行显示(使用AddRange添加可实现快速载入)
                listView.Items.AddRange(listIteams.ToArray());
            }
    
            /// <summary>
            /// 添加AllDatas至listView中进行显示
            /// </summary>
            public static void addToListView(ListView listView, string[][] AllDatas)
            {
                // 移除原有数据
                listView.Items.Clear();
    
                // 生成listView数据
                List<ListViewItem> listIteams = new List<ListViewItem>();
                foreach (string[] iteamData in AllDatas)
                {
                    ListViewItem iteam = new ListViewItem(iteamData);
                    //iteam.ImageIndex = 0;
    
                    listIteams.Add(iteam);
                }
    
                // 添加至listView中进行显示(使用AddRange添加可实现快速载入)
                listView.Items.AddRange(listIteams.ToArray());
            }
        }
    
        /// <summary>
        /// 对ListView点击列标题自动排序功能
        /// 
        /// 示例: ListViewSort.AddColumnSort(listView1);          // 为listView1添加按列排序逻辑
        /// </summary>
        public class ListViewSort
        {
            /// <summary>
            /// 为listView添加列点击排序逻辑,可在FormLoad()事件中为指定的listView添加排序逻辑
            /// </summary>
            public static void AddColumnSort(ListView list)
            {
                list.ListViewItemSorter = new ListViewColumnSorter();
                list.ColumnClick += new ColumnClickEventHandler(ListView_ColumnClick);
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public ListViewSort()
            {
                //
                // TODO: 在此处添加构造函数逻辑
                //
            }
    
            public static void ListView_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
            {
                System.Windows.Forms.ListView lv = sender as System.Windows.Forms.ListView;
    
                // 检查点击的列是不是现在的排序列.
                if (e.Column == (lv.ListViewItemSorter as ListViewColumnSorter).SortColumn)
                {
                    // 重新设置此列的排序方法.
                    if ((lv.ListViewItemSorter as ListViewColumnSorter).Order == System.Windows.Forms.SortOrder.Ascending)
                    {
                        (lv.ListViewItemSorter as ListViewColumnSorter).Order = System.Windows.Forms.SortOrder.Descending;
                    }
                    else
                    {
                        (lv.ListViewItemSorter as ListViewColumnSorter).Order = System.Windows.Forms.SortOrder.Ascending;
                    }
                }
                else
                {
                    // 设置排序列,默认为正向排序
                    (lv.ListViewItemSorter as ListViewColumnSorter).SortColumn = e.Column;
                    (lv.ListViewItemSorter as ListViewColumnSorter).Order = System.Windows.Forms.SortOrder.Ascending;
                }
                // 用新的排序方法对ListView排序
                ((System.Windows.Forms.ListView)sender).Sort();
            }
        }
    
        /// <summary>
        /// 继承自IComparer
        /// </summary>
        public class ListViewColumnSorter : System.Collections.IComparer
        {
            /// <summary>
            /// 指定按照哪个列排序
            /// </summary>
            private int ColumnToSort;
            /// <summary>
            /// 指定排序的方式
            /// </summary>
            private System.Windows.Forms.SortOrder OrderOfSort;
            /// <summary>
            /// 声明CaseInsensitiveComparer类对象
            /// </summary>
            private System.Collections.CaseInsensitiveComparer ObjectCompare;
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public ListViewColumnSorter()
            {
                // 默认按第一列排序
                ColumnToSort = 0;
    
                // 排序方式为不排序
                OrderOfSort = System.Windows.Forms.SortOrder.None;
    
                // 初始化CaseInsensitiveComparer类对象
                ObjectCompare = new System.Collections.CaseInsensitiveComparer();
            }
    
            /// <summary>
            /// 重写IComparer接口.
            /// </summary>
            /// <param name="x">要比较的第一个对象</param>
            /// <param name="y">要比较的第二个对象</param>
            /// <returns>比较的结果.如果相等返回0,如果x大于y返回1,如果x小于y返回-1</returns>
            public int Compare(object x, object y)
            {
                int compareResult;
                System.Windows.Forms.ListViewItem listviewX, listviewY;
    
                // 将比较对象转换为ListViewItem对象
                listviewX = (System.Windows.Forms.ListViewItem)x;
                listviewY = (System.Windows.Forms.ListViewItem)y;
    
                string xText = listviewX.SubItems.Count > ColumnToSort ? listviewX.SubItems[ColumnToSort].Text : "";
                string yText = listviewY.SubItems.Count > ColumnToSort ? listviewY.SubItems[ColumnToSort].Text : "";
    
                // 移除%号
                while (xText.EndsWith("%")) xText = xText.Substring(0, xText.Length - 1);
                while (yText.EndsWith("%")) yText = yText.Substring(0, yText.Length - 1);
    
                int xInt, yInt;
                float xFloat, yFloat;
    
                // 比较,如果值为IP地址,则根据IP地址的规则排序。
                if (IsIP(xText) && IsIP(yText))
                {
                    compareResult = CompareIp(xText, yText);
                }
                else if (int.TryParse(xText, out xInt) && int.TryParse(yText, out yInt)) //是否全为数字
                {
                    //比较数字
                    compareResult = CompareInt(xInt, yInt);
                }
                else if (float.TryParse(xText, out xFloat) && float.TryParse(yText, out yFloat)) //是否全为数字
                {
                    //比较数字
                    compareResult = CompareFloat(xFloat, yFloat);
                }
                else
                {
                    //比较对象
                    compareResult = ObjectCompare.Compare(xText, yText);
                }
    
                // 根据上面的比较结果返回正确的比较结果
                if (OrderOfSort == System.Windows.Forms.SortOrder.Ascending)
                {
                    // 因为是正序排序,所以直接返回结果
                    return compareResult;
                }
                else if (OrderOfSort == System.Windows.Forms.SortOrder.Descending)
                {
                    // 如果是反序排序,所以要取负值再返回
                    return (-compareResult);
                }
                else
                {
                    // 如果相等返回0
                    return 0;
                }
            }
    
            /// <summary>
            /// 判断是否为正确的IP地址,IP范围(0.0.0.0~255.255.255)
            /// </summary>
            /// <param name="ip">需验证的IP地址</param>
            /// <returns></returns>
            public bool IsIP(String ip)
            {
                return System.Text.RegularExpressions.Regex.Match(ip, @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$").Success;
            }
    
            /// <summary>
            /// 比较两个数字的大小
            /// </summary>
            /// <param name="ipx">要比较的第一个对象</param>
            /// <param name="ipy">要比较的第二个对象</param>
            /// <returns>比较的结果.如果相等返回0,如果x大于y返回1,如果x小于y返回-1</returns>
            private int CompareInt(int x, int y)
            {
                if (x > y)
                {
                    return 1;
                }
                else if (x < y)
                {
                    return -1;
                }
                else
                {
                    return 0;
                }
            }
    
            /// <summary>
            /// 比较两个数字的大小
            /// </summary>
            /// <param name="ipx">要比较的第一个对象</param>
            /// <param name="ipy">要比较的第二个对象</param>
            /// <returns>比较的结果.如果相等返回0,如果x大于y返回1,如果x小于y返回-1</returns>
            private int CompareFloat(float x, float y)
            {
                if (x > y)
                {
                    return 1;
                }
                else if (x < y)
                {
                    return -1;
                }
                else
                {
                    return 0;
                }
            }
    
            /// <summary>
            /// 比较两个IP地址的大小
            /// </summary>
            /// <param name="ipx">要比较的第一个对象</param>
            /// <param name="ipy">要比较的第二个对象</param>
            /// <returns>比较的结果.如果相等返回0,如果x大于y返回1,如果x小于y返回-1</returns>
            private int CompareIp(string ipx, string ipy)
            {
                string[] ipxs = ipx.Split('.');
                string[] ipys = ipy.Split('.');
    
                for (int i = 0; i < 4; i++)
                {
                    if (Convert.ToInt32(ipxs[i]) > Convert.ToInt32(ipys[i]))
                    {
                        return 1;
                    }
                    else if (Convert.ToInt32(ipxs[i]) < Convert.ToInt32(ipys[i]))
                    {
                        return -1;
                    }
                    else
                    {
                        continue;
                    }
                }
                return 0;
            }
    
            /// <summary>
            /// 获取或设置按照哪一列排序.
            /// </summary>
            public int SortColumn
            {
                set
                {
                    ColumnToSort = value;
                }
                get
                {
                    return ColumnToSort;
                }
            }
    
            /// <summary>
            /// 获取或设置排序方式.
            /// </summary>
            public System.Windows.Forms.SortOrder Order
            {
                set
                {
                    OrderOfSort = value;
                }
                get
                {
                    return OrderOfSort;
                }
            }
        }
    }
    

    展开全文
  • Java 维数组指定列排序

    千次阅读 2019-12-06 18:01:16
    Java 维数组指定列排序 简介: 在做项目时,需要对维数组,按照指定的进行排序。 效果图: 代码实现: public static void main(String[] args) { int[][] nums = initialArray(5, 3); System.out....
  • 问题: TableWidget有自己的Sort函数,setSortingEnabled() ...在Sort数字时就出现了问题,比如说100会出现在20之前,因为它的第一位是1比2小 ==============================================================
  • 1.目标需要按照a中子元素中的第一列数值排序(降序): a.sort(lambda x, y: cmp(x[0],y[0]), reverse=True) 排序后的结果: [[23, 'davis'], [7, 'lucas'], [4, 'james'], [3, 'wade'], [1, 'bosh']] 2.如果...
  • 方法: select * from ( select * from student where 1=1 order by stu_time ) where rownum=1; student所有数据: 查询结果: 方法: select t.* from ( select s.*,row_number() over(order by ...
  • 而如果list是维数组,也就是list 的list,想按照第2列排序,怎么做?就是说,list是以下的矩阵形式: list[0]: [4,2] list[1]: [3,1] list[2]: [5,0] list[3]: [1,6] 注意到sort自己的参数就有提及: ...
  • 数组一列排序

    千次阅读 2018-09-13 18:31:13
    label_loss 为数组名 这行代码表示按第二列数组排序,如果只是维的数据就不用加[:,1],其他列数据也跟着改变位置,顺序为从小到大。 label_loss = label_loss[label_loss[:,1].argsort()[::-1]] label_loss[:,1]...
  • matlab一列排序

    万次阅读 2014-11-26 01:20:15
    %将矩阵a按照第2列的升序排列,其他不会作升序排列,而是将跟随着第2列 的变化,保持一一对应。 b=sortrows(a,-3)  %将矩阵a按照第3的降序排列,其他将跟随着第3 的变化,保持一一对应。 data =  ...
  • 记录开发过程中的个坑 在开发过程中遇到的问题 (菜鸡枚,随笔勿喷) 问题描述 数据分页时需要根据数据记录创建时间create_time字段倒序,即使用order by create_time desc limit ?,?,但是我们会发现,前端进行...
  • oracle: 时间排序,查询第一数据

    万次阅读 2019-01-29 09:35:56
    有些业务需求,我们需要获取排序后的第一数据,Oracle需要一个子查询来实现. with t as (select * from t_table order by createdTime desc) select * from t where rownum =1 ...
  • C# DataTable 数字列排序

    千次阅读 2013-12-12 17:14:56
    C# DataTable 数字列排序  C #中DataTable的select方法排序很容易,在这里就不做简述了,下面主要说的是怎么按照数字列排序  下面的例子中讲解这么按照dt2中的按照数字排序:  //这里是从程序 里面弄...
  • 有时我们在排序时,比如排列成绩时,我们不能变动学生的总成绩...2.然后输入需要排序第一个数值的位置 3.再输入需要排序的范围,要绝对引用,即在字母和数字前加$,最后输入降序排列:0,升序排列:1 降序: 升...
  • 示例1: SELECT last_name, salary , hire_date FROM EMPLOYEES ...示例2: SELECT last_name, salary , hire_date FROM EMPLOYEES ORDER BY 2 DESC; 以上两个示例结果相同。 因为ORDER
  • Excel一张表的某一列按另一张表的某列顺序排序 我用的是wps但是office操作也差不多 、选中需要排序模板中的列,就是你需要把某个表的列按照这个顺序排,行数比较多可以用ctrl+shift+↓,然后点击 “文件” ...
  • 下面的代码通过 order() 函数返回个行所对应的顺序,同时该函数可以接受多个参数进行排序第一个参数是主排序的依据第二个是次级排序依据,依次类推。 &amp;gt; x &amp;lt;- c(3,5,4,6,3,2...
  • Arrays.sort(intervals, new Comparator<int[]>(){ public int compare(int[] o1, int[] o2) { return o1[0] - o2[0]; } });
  • 这篇文章的写成主要参考了ace_fei的内容,其中我认为有错误的地方,并进行了修改。网页如下:... 加入我们有这样个文件,他的内容如下: 4 6 3 4 5 1 1 2 3 1 9 0 2 0 5 3 6 2 2 0 8 2
  • 我想先对第一列进行升序排序,在这个基础上,再对第二列进行降序排序。 代码如下: df_data = pd.read_csv(u'data/test_data.txt', names=['A','B','C'], sep='\t') df_data_sorted = df_data.sort_va...
  • 使用Qt的model/view,点击头,对一列进行排序
  • 问题a中有两数,是一一对应的,我现在需要将...3 2第一列升序排序时,第二列数是原来的与之对应的元素:1 7 3 2 5 9 8 1代码可以通过sortrows实现。代码如下:a = [1 7; 5 9; 8 1; 3 2]; b = sortrows(a)程
  • R语言对矩阵一列排序

    万次阅读 2014-05-20 12:43:16
    [plain] view plaincopy a  b  c  [plain] view plaincopyc[order(c[,1]),] #按第一列递增排序
  • CListCtrl实现按列排序

    千次阅读 2012-08-20 20:47:39
    在做的个项目要求对CListCtrl控件能够实现点击标题时,实现按列排序。因本来就对MFC不熟悉,故不知从何下手。在网上搜了一些文章,好多都是通过回调函数来实现,找了篇文章...
  • dataframe根据第一列的值排序 打开文件: import pandas as pd df = pd.read_csv('.\data\dict.txt',delimiter=' ',encoding='utf-8',header=None,nrows=5) 参数解析,第一个参数是文件路径,可以打开csv,txt等 ...
  • 怎样遍历一个list 符合下列条件1. 按照元组的第一个从小到大排序2. 如果第一个相同 则按照元组第2个从大到小 排序 a = [[2,3],[4,1],(2,8),(2,1),(3,4)] b = sorted(a,key=lambda x: (x[0], -x[1]))...
  • 向Spark的DataFrame增加一列数据

    万次阅读 2019-05-11 20:35:02
    前言 ...可要把这个flag字段全部设置为China,看起来的确是有点难度,因为往Hive表中装载数据的唯一途径就是使用种“大量”的数据装载操作(如何往Hive表加载数据请参考),这个时候,如果数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,013,557
精华内容 405,422
关键字:

如何让第二列数据按第一列排序