【java】实体类中 按照特定的字段 进行升序/降序 排序

背景:

  实际页面上  所有的分值都是按照JSON格式存储在一个字符串中 存储在同一个字段中:

{"ownPTotal":"10>0","ownOTotal":"8>0","ownTotal1":"18","ownTotal2":"80","ownTotal3":"20","ownTotal4":"118","leadTotal1":"20","leadTotal2":"80","leadTotal3":"20","leadTotal4":"120","chiefCheck1":"","chiefCheck2":"","leadTotal5":"140"}

 

现在 需要按照 其中的 几种分值  进行升序/降序的排序操作

 

解决方法:

【因为不是按照原实体的中的字段进行排序,因此需要新建一个实体,将原实体中有用的字段和需要使用的值从字段中抽离出来 在新实体中设置成字段,如果需要进行排序的字段是原实体中就存在的,那就不需要新建实体了】

重点关注:

 

实现 Comparable接口需要实现的比较方法    这里动态比较 是按照 1.哪个字段进行排序   2.升序/降序

//排序方法
    @Override
    public int compareTo(NewMonthPerEntity o) {
        double a1 = this.whichProperty.equals("leadTotal5") ? this.leadTotal5 : (this.whichProperty.equals("leadTotal4") ? this.leadTotal4 :(this.whichProperty.equals("ownTotal4") ? this.ownTotal4 :this.ownTotal4));
        double a2 = o.whichProperty.equals("leadTotal5") ? o.leadTotal5 : (o.whichProperty.equals("leadTotal4") ? o.leadTotal4 :(o.whichProperty.equals("ownTotal4") ? o.ownTotal4 :o.ownTotal4));
        if(this.ascDesc){//若是升序
            return a1 > a2 ? 1  : -1;
        }else{
            return a1 > a2 ? -1 : 1;
        }
    }

 【注意:这里  return a1 > a2 ? 1 : -1;并没有写成  return a1 > a2 ? 1  :(a1==a2 ? 0 :-1);   这个样子,是因为如果在比较的时候判定两个相等 ,那在放入TreeSet中时会发生覆盖现象  】

 新实体完整代码:

  1 package com.agen.util;
  2
  3 public class NewMonthPerEntity implements Comparable<NewMonthPerEntity>{
  4
  5     private String monthPerId;            //月度考核Id
  6     private String userId;                //用户Id
  7     private String userName;            //用户名称
  8     private String createDate;        //考核创建时间
  9     private double leadTotal5;            //调控分值
 10     private double leadTotal4;            //考评分值
 11     private double ownTotal4;            //自评分值
 12     private boolean ascDesc;            //true升序/false降序
 13     private String whichProperty;        //需要对哪个分值排序
 14
 15
 16
 17
 18
 19     public String getMonthPerId() {
 20         return monthPerId;
 21     }
 22
 23     public void setMonthPerId(String monthPerId) {
 24         this.monthPerId = monthPerId;
 25     }
 26     public String getUserId() {
 27         return userId;
 28     }
 29     public void setUserId(String userId) {
 30         this.userId = userId;
 31     }
 32     public String getUserName() {
 33         return userName;
 34     }
 35     public void setUserName(String userName) {
 36         this.userName = userName;
 37     }
 38     public String getCreateDate() {
 39         return createDate;
 40     }
 41
 42     public void setCreateDate(String createDate) {
 43         this.createDate = createDate;
 44     }
 45
 46     public double getLeadTotal5() {
 47         return leadTotal5;
 48     }
 49     public void setLeadTotal5(double leadTotal5) {
 50         this.leadTotal5 = leadTotal5;
 51     }
 52     public double getLeadTotal4() {
 53         return leadTotal4;
 54     }
 55     public void setLeadTotal4(double leadTotal4) {
 56         this.leadTotal4 = leadTotal4;
 57     }
 58
 59     public double getOwnTotal4() {
 60         return ownTotal4;
 61     }
 62
 63     public void setOwnTotal4(double ownTotal4) {
 64         this.ownTotal4 = ownTotal4;
 65     }
 66     public boolean isAscDesc() {
 67         return ascDesc;
 68     }
 69
 70     public void setAscDesc(boolean ascDesc) {
 71         this.ascDesc = ascDesc;
 72     }
 73
 74     public String getWhichProperty() {
 75         return whichProperty;
 76     }
 77     public void setWhichProperty(String whichProperty) {
 78         this.whichProperty = whichProperty;
 79     }
 80
 81     public NewMonthPerEntity(String monthPerId, String userId, String userName,
 82             String createDate, double leadTotal5, double leadTotal4,
 83             double ownTotal4) {
 84         super();
 85         this.monthPerId = monthPerId;
 86         this.userId = userId;
 87         this.userName = userName;
 88         this.createDate = createDate;
 89         this.leadTotal5 = leadTotal5;
 90         this.leadTotal4 = leadTotal4;
 91         this.ownTotal4 = ownTotal4;
 92     }
 93
 94
 95
 96
 97
 98     public NewMonthPerEntity(String monthPerId, String userId, String userName,
 99             String createDate, double leadTotal5, double leadTotal4,
100             double ownTotal4, boolean ascDesc, String whichProperty) {
101         super();
102         this.monthPerId = monthPerId;
103         this.userId = userId;
104         this.userName = userName;
105         this.createDate = createDate;
106         this.leadTotal5 = leadTotal5;
107         this.leadTotal4 = leadTotal4;
108         this.ownTotal4 = ownTotal4;
109         this.ascDesc = ascDesc;
110         this.whichProperty = whichProperty;
111     }
112
113
114
115
116
117
118     //排序方法
119     @Override
120     public int compareTo(NewMonthPerEntity o) {
121         double a1 = this.whichProperty.equals("leadTotal5") ? this.leadTotal5 : (this.whichProperty.equals("leadTotal4") ? this.leadTotal4 :(this.whichProperty.equals("ownTotal4") ? this.ownTotal4 :this.ownTotal4));
122         double a2 = o.whichProperty.equals("leadTotal5") ? o.leadTotal5 : (o.whichProperty.equals("leadTotal4") ? o.leadTotal4 :(o.whichProperty.equals("ownTotal4") ? o.ownTotal4 :o.ownTotal4));
123         if(this.ascDesc){//若是升序
124             return a1 > a2 ? 1  : -1;
125         }else{
126             return a1 > a2 ? -1 : 1;
127         }
128     }
129
130
131
132
133
134 }

View Code

 

@RequestMapping("allMonthPer")
    @ResponseBody
    public TreeSet<NewMonthPerEntity> allMonthPer(HttpServletRequest request,boolean ascDesc,String whichProperty) {
//-----------------部分代码---------------------------------------------------....      //原实体 得到的List
        DetachedCriteria criteria = DetachedCriteria.forClass(Monthper.class);
        criteria.add(Restrictions.in("userId", userIds));
        List<Monthper> monthPers = monthperService.list(criteria);
      //新建TreeSet 将原实体的List 对应的放置在新的实体中,放入TreeSet的时候就已经是按照传入【按照 哪个字段排序/升序或降序 】 排好顺序的
        TreeSet<NewMonthPerEntity> newSet = new TreeSet<NewMonthPerEntity>();
        for (Monthper monthper : monthPers) {
            String totalStr = monthper.getTotalStr();
             double leadTotal5 = Double.parseDouble(JSONObject.fromObject(totalStr).getString("leadTotal5"));
             double leadTotal4 = Double.parseDouble(JSONObject.fromObject(totalStr).getString("leadTotal4"));
             double ownTotal4 = Double.parseDouble(JSONObject.fromObject(totalStr).getString("ownTotal4"));

            NewMonthPerEntity entity = new NewMonthPerEntity(monthper.getMonthPerId(),monthper.getUserId(),userService.get(monthper.getUserId()).getUserName(),monthper.getCreateDate().toLocaleString(),leadTotal5,leadTotal4,ownTotal4);
            entity.setAscDesc(ascDesc);//设置升序/降序
            if("".equals(whichProperty) || null == whichProperty){
                entity.setWhichProperty("ownTotal4");
            }else{
                entity.setWhichProperty(whichProperty);
            }

            newSet.add(entity);
        }

        return newSet;//在前台  只需要$.each取出来 追加到页面就好
    }

 

 

效果如下图:

 

 

 

 

附带 前台jsp代码

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11     <title>考核列表</title>
12
13     <meta http-equiv="pragma" content="no-cache">
14     <meta http-equiv="cache-control" content="no-cache">
15     <meta http-equiv="expires" content="0">
16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17
18     <link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet">
19     <script src="../js/jquery.js"></script>
20
21   </head>
22
23   <body>
24
25     <div class="panel panel-primary">
26           <div class="panel-heading">
27                <div class="form-group">
28                  <label class="panel-title" >月度绩效考评列表</label>
29                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
30                    <button type="button" class="btn btn-success thisMonth">本月考核</button>
31                   <button type="button" class="btn btn-warning  userRefresh">刷新页面</button>
32                   <c:if test="${roleGrade==0 }">
33                       <div class="row">
34                           <div class="col-lg-2">
35                             <div class="input-group">
36                               <select class="form-control dep" name="departmentId">
37                                         <option value="0">可选择所在部门</option>
38                               </select>
39                             </div>
40                           </div>
41                           <div class="col-lg-1">
42                             <div class="input-group">
43                               <input type="text" class="form-control us"    placeholder="用户名称"  >
44                             </div>
45                           </div>
46                           <div class="col-lg-1">
47                             <div class="input-group">
48                               <input type="number" class=" form-control mon"   placeholder="查询月份"  >
49                             </div>
50                           </div>
51                           <div class="col-lg-1">
52                             <div class="input-group">
53                               <button type="button" class="btn btn-default mohu ">模糊查询</button>
54                             </div>
55                           </div>
56                         </div>
57                   </c:if>
58
59              </div>
60           </div>
61           <div class="panel-body">
62           <input type="hidden" class="operationId" value="${operationId}"/>
63           <input type="hidden" class="whichProperty" />
64           <input type="hidden" class="ascDesc"/>
65
66                 <table class="table text-center">
67                           <tr class="firstTr">
68                             <td class="active"> <input type="checkbox" id="checkAll" name="checkAll" /></td>
69                           <td class="primary"><h4>考核月份</h4></td>
70                           <td class="success"><h4>员工名称</h4></td>
71                           <td class="danger"><h4>考评时间</h4></td>
72                           <td class="warning"><h4>调控分值 <span class="glyphicon glyphicon-sort" alt="leadTotal5"  style="float: right;"></span></h4></td>
73                           <td class="info"><h4>考评分值 <span class="glyphicon glyphicon-sort"  alt="leadTotal4"  style="float: right;"></span></h4></td>
74                           <td class="danger"><h4>自评分值 <span class="glyphicon glyphicon-sort" alt="ownTotal4"  style="float: right;"></span></h4></td>
75                           <td class="default"><h4>操作</h4></td>
76                         </tr>
77                  </table>
78           </div>
79     </div>
80
81   </body>
82
83   <script src="../bootstrap/js/bootstrap.min.js"></script>
84   <script src="../layer/layer.js"></script>
85   <script type="text/javascript" src="../js/UUID.js"></script>
86   <script type="text/javascript" src="../js/perContent/monthPerContent/allMonth.js"></script>
87
88 </html>

View Code

 

附带 前台js代码

 

  1 function refreshAll(ascDesc,whichProperty){
  2     $("table tbody tr").not(":first").remove();
  3     $.ajax({url:"../monthPerCon/allMonthPer.htmls",
  4         dataType:'json',
  5         type:"post",
  6         data:{ascDesc:ascDesc,whichProperty:whichProperty},
  7         traditional:false,
  8         success:function(data){
  9             var temp ="";
 10             $.each(data,function(i,d){
 11                 temp += '<tr>'
 12                             +' <td class="active"> '
 13                                 +'<input type="checkbox" id="checkAll" name="checkAll" />'
 14                                 +'<input type="hidden"  name="monthPerId" value="'+d.monthPerId+'"/>'
 15                             +'</td>'
 16                             +'<td class="primary">'
 17                                 +(new Date(d.createDate).getMonth()+"月考核")
 18                             +'</td>'
 19                             +'<td class="success">'
 20                                 +'<input type="hidden"  name="userId" value="'+d.userId+'"/>'
 21                                 +d.userName
 22                             +'</td>'
 23                             +'<td class="danger">'
 24                                 +d.createDate
 25                             +'</td>'
 26                             +'<td class="warning tips">'
 27                                 +'【调控分值:'+d.leadTotal5+'】'
 28                             +'</td>'
 29                             +'<td class="info tips">'
 30                                 +'【考评分值:'+d.leadTotal4+'】'
 31                             +'</td>'
 32                             +'<td class="danger tips">'
 33                                 +'【自评分值:'+d.ownTotal4+'】'
 34                             +'</td>'
 35                             +'<td class="default">'
 36                                 +'<a class="aClick"><i class="glyphicon glyphicon-list-alt"></i>详情</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Adelete"><i class="glyphicon glyphicon-trash"></i>删除</a>'
 37                             +'</td>'
 38                         +'</tr>';
 39                 $(".whichProperty").val(d.whichProperty);
 40                 $(".ascDesc").val(d.ascDesc);
 41             });
 42             $(".firstTr").after(temp);
 43
 44
 45             /*//判断 此时按那列排序 升序降序 改变图标
 46             var whichProperty = $(".whichProperty").val();
 47             var ascDesc = $(".ascDesc").val();
 48             var thisSpan;
 49             var cla = "";
 50             whichProperty == "ownTotal4"? thisSpan = $("span").eq(2):(whichProperty == "leadTotal4"? thisSpan = $("span").eq(1) :thisSpan = $("span").eq(0));
 51             ascDesc == "true" ? cla = "glyphicon glyphicon-sort-by-attributes" : cla="glyphicon glyphicon-sort-by-attributes-alt";
 52             $(thisSpan).attr("class",cla);*/
 53         }
 54     });
 55 }
 56
 57
 58
 59
 60
 61 function mohu(ascDesc,whichProperty,dep,us,mon){
 62
 63     $("table tbody tr").not(":first").remove();
 64     $.ajax({url:"../monthPerCon/mohuAllMonthPer.htmls",
 65         dataType:'json',
 66         type:"post",
 67         data:{ascDesc:ascDesc,whichProperty:whichProperty,departmentId:dep,userName:us,month:mon},
 68         traditional:false,
 69         success:function(data){
 70             var temp ="";
 71             $.each(data,function(i,d){
 72                 temp += '<tr>'
 73                         +' <td class="active"> '
 74                             +'<input type="checkbox" id="checkAll" name="checkAll" />'
 75                             +'<input type="hidden"  name="monthPerId" value="'+d.monthPerId+'"/>'
 76                         +'</td>'
 77                         +'<td class="primary">'
 78                             +(new Date(d.createDate).getMonth()+"月考核")
 79                         +'</td>'
 80                         +'<td class="success">'
 81                             +'<input type="hidden"  name="userId" value="'+d.userId+'"/>'
 82                             +d.userName
 83                         +'</td>'
 84                         +'<td class="danger">'
 85                             +d.createDate
 86                         +'</td>'
 87                         +'<td class="warning tips">'
 88                             +'【调控分值:'+d.leadTotal5+'】'
 89                         +'</td>'
 90                         +'<td class="info tips">'
 91                             +'【考评分值:'+d.leadTotal4+'】'
 92                         +'</td>'
 93                         +'<td class="danger tips">'
 94                             +'【自评分值:'+d.ownTotal4+'】'
 95                         +'</td>'
 96                         +'<td class="default">'
 97                             +'<a class="aClick"><i class="glyphicon glyphicon-list-alt"></i>详情</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Adelete"><i class="glyphicon glyphicon-trash"></i>删除</a>'
 98                         +'</td>'
 99                     +'</tr>';
100             });
101             $(".firstTr").after(temp);
102
103         }
104     });
105
106 }
107
108
109
110
111
112 $(document).ready(function(){
113     refreshAll();
114
115     //升序 降序
116     $("span").click(function(){
117
118         var whichProperty = $(this).attr("alt");
119         if($(this).attr("class") == "glyphicon glyphicon-sort"){
120             $(this).attr("class","glyphicon glyphicon-sort-by-attributes-alt");
121         }else if($(this).attr("class") == "glyphicon glyphicon-sort-by-attributes-alt"){
122             $(this).attr("class","glyphicon glyphicon-sort-by-attributes");
123         }else if($(this).attr("class") == "glyphicon glyphicon-sort-by-attributes"){
124             $(this).attr("class","glyphicon glyphicon-sort-by-attributes-alt");
125         }
126
127         $("span").not(this).attr("class","glyphicon glyphicon-sort");
128         var ascDesc = $(this).attr("class") == "glyphicon glyphicon-sort" ? false : ($(this).attr("class") == "glyphicon glyphicon-sort-by-attributes-alt" ? false : true);
129
130         //判断是否模糊查询
131          var dep = $(".dep option:selected").val();
132          var us = $(".us").val();
133          var mon = $(".mon").val();
134          if(dep !="" || us !="" || mon !=""){//只要模糊查询有值
135              if(( parseInt(mon)<0 || parseInt(mon)>12 )){
136                  layer.msg("月份不正确",{icon:2,time:1000});
137                  $(".mon").val("");
138              }else{
139                  mohu(ascDesc,whichProperty,dep,us,mon);
140              }
141          }else{//否则  查询
142              refreshAll(ascDesc,whichProperty);
143          }
144
145     });
146
147
148
149     $(document).on("click",".aClick",function(){
150         var monthPerId = $(this).parents("tr").children().first().find("input:hidden").val();
151         location.href = "../monthPerCon/showThisMonper.htmls?monthPerId="+monthPerId;
152     });
153     $(document).on("click",".Adelete",function(){
154         var operationId = $(".operationId").val();//操作人的ID
155         var userId = $(this).parents("tr").children().eq(2).find(":hidden").val();//本条考核的人员
156         if(operationId != userId){
157             layer.msg("非本人无法删除!",{icon:2,time:2000});
158         }else{
159             var monthPerId = $(this).parents("tr").children().first().find("input:hidden").val();
160             var leadTotal4 = JSON.parse($(this).parents("tr").children().eq(4).find(":hidden").val()).leadTotal4;
161             if( !(leadTotal4 == undefined || leadTotal4=="") ){
162                 layer.msg("经理已经考评无法删除!");
163             }else{
164                 $.ajax({url:"../monthPerCon/deleteThisMonper.htmls",
165                     dataType:'json',
166                     type:"post",
167                     data:{monthPerId:monthPerId},
168                     traditional:false,
169                     success:function(data){
170                         if(data){
171                             layer.msg("删除成功",{icon:1,time:2000},function(){
172                                 refreshAll();
173                             });
174                         }else{
175                             layer.msg("删除失败",{icon:2,time:2000},function(){
176                                 refreshAll();
177                             });
178                         }
179
180                     }
181                 });
182             }
183         }
184
185 //        location.href = "../monthPerCon/deleteThisMonper.htmls?monthPerId="+monthPerId;
186     });
187
188     //跳转到本月考核页面
189     $(".thisMonth").click(function(){
190         location.href = "../monthPerCon/perContent.htmls";
191     });
192
193
194     //部门
195     $.getJSON("../department/showAlldepartment.htmls", function(data){
196           if(data!=null){
197               var temp = "";
198               $.each(data,function(i,a){
199                   temp+="<option value='"+a.departmentId+"'>"+a.departmentName+"</option>";
200               });
201               $('.dep option').first().after(temp);
202           }
203     });
204
205
206     //模糊查询
207      $(".mohu").click(function(){
208          var dep = $(".dep option:selected").val();
209          var us = $(".us").val();
210          var mon = $(".mon").val();
211          if(( parseInt(mon)<0 || parseInt(mon)>12 )){
212              layer.msg("月份不正确",{icon:2,time:1000});
213              $(".mon").val("");
214          }else{
215              mohu(false,"ownTotal4",dep,us,mon);
216          }
217
218      });
219
220
221 });

View Code

 

时间: 2024-07-28 21:10:54

【java】实体类中 按照特定的字段 进行升序/降序 排序的相关文章

请问:如何实现&amp;amp;quot;点击字段名字可以实现按升序,降序排序&amp;amp;quot;?谢谢指教!

问题描述 请问:如何实现"点击字段名字可以实现按升序,降序排序"?谢谢指教! 解决方案 解决方案二:如果是gridview设置下就好了`其他的写点代码再重新绑定下解决方案三:datagrid不是有排序事件吗?解决方案四:datagrid不是有自带的排序事件吗?解决方案五:GridView1.AllowSorting=true;解决方案六:虽然现在不是太明白各位"高手"的意思,仍十分感激各位!解决方案七:察看MSDN中的关于GridView的排序的帮助估计你应该会很快

java通过solr查询hbase数据,如何自动映射到java实体类?

问题描述 java通过solr查询hbase数据,如何自动映射到java实体类? 现在的情况是,使用simplehbase可以将查询结果自动映射到实体中,但simplehbase的过滤手段不如solr全面,能否将simplehbase与solr结合起来使用?如果可以,该怎么做呢?如果不可以,有没有办法可以达到以下目的?目的:1)可以模糊查询2)查询出的结果自动映射到java实体类中 解决方案 http://www.cnblogs.com/Leo_wl/p/4582018.html

原生sql hibernate-用原生sql查询 为什么实体类中存在该字段,但为什么还是报错列名无效

问题描述 用原生sql查询 为什么实体类中存在该字段,但为什么还是报错列名无效 这是dao层 ds = HibernateDataSource.getHibernateDataSource(); session = ds.getSession(); String sql1="SELECT CHANNEL_ID FROM JC_CHANNEL WHERE PARENT_ID='"+ channelId + "'"; SQLQuery sqlQuery1 = sessi

java 实体类注解配置问题

问题描述 java 实体类注解配置问题 我有一个机构实体类,里面有id,orgnName(机构名),parentId(父级机构的id)三个属性 问要如何配置id和parentId的多对一关系? 表里面的数据如下形式: ID ORGNNAME PARENTID 1 机构 1 0 2 机构 1-1 1(存的是 机构1 的id ) 3 机构 1-2 1(存的是 机构1 的id ) 求高手解答,不,求 '大神' 解答,跪求!! 解决方案 一对多注解标识在表示多的集合字段上,多对一的注解标识在一的属性上,

java-Hibernate实体类中属性的映射

问题描述 Hibernate实体类中属性的映射 我的实体类的其中一个属性的类型是InputStream,映射文件中type要为什么?可以是mediumblob吗? 解决方案 hibernate实体类映射hibernate 无主键的表映射实体类2.Hibernate 实体类映射(两种形式) 解决方案二: 搞什么鬼,实体类的属性类型时InputStream??? 难道不应该是byte[]吗?blob什么的也好--inputStream是一个流,它就不是用来储存数据信息的啊喂 如果有必要保存一个"从某

dalvik-在做xml与java实体类的转换时,导入的jar包都会让eclipse报错

问题描述 在做xml与java实体类的转换时,导入的jar包都会让eclipse报错 我开始用XStream,后来又根据网上的代码导入javax.xml.bind包来进行解析,但是这两种都会报错:Conversion to Dalvik format failed with error 1,我百了一下,也不是很明白,还请大家解答,先谢谢各位了.. 解决方案 可以试下这个方案http://dev.wo.com.cn/docportal/doc_queryMdocDetail.action?mdoc

vb6实体类-Visual Basic 6.0精简版,如何在实体类中定义类属性?

问题描述 Visual Basic 6.0精简版,如何在实体类中定义类属性? 我想在类中定义类属性 玩家类代码 '玩家类 '名称Private Name As String'性别Private Sex As SexEnum'级别Private Level As Integer'当前级别分数Private LevelScore As Integer'总分Private SumScore As Integer'境界Private PlayerRealm As Realm'豆豆虫Private Pla

[WinForm]在一个界面把值用一个数组保存然后存到一个实体类中.

问题描述 界面有多个TxtBox值... 解决方案 解决方案二:怎么实现?高手来挖解决方案三:this.m_texts=newstring[textBoxes.Length];for(inti=0;i<textBoxes.Length;i++){m_texts[i]=textBoxes[i].Text;} 解决方案四:List<string>list=newList<string>();foreach(Controlcinthis.Controls){if(c.GetType

php-mysql如何根据字段1与字段2的差值按照降序排序

问题描述 mysql如何根据字段1与字段2的差值按照降序排序 如:表table,两字段:c1,c2,我想select * from table ,条件是c1与c2的差值按照降序排序,求指点 解决方案 那你应该还有一列用来放两者的差值啊:假设这一列叫 c3; ALTER TABLE 表名 ADD c3 INT IDENTITY NOT NULL; select c3=c1-c2 from table order by c3 desc 解决方案二: select c1,c2,(c1-c2) as c