mysql查询时,查询结果按where in数组排序

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33980878/article/details/82660216

使用情况:当我们在进行where id in () 查询的时候,如果where in的id查询数组为[2,7,1,4,3],正常情况查询出来的结果顺序为[1,2,3,4,7],这可能不是我们想要的结果,我们期望查出来的结果顺序与where in的顺序一致,这里介绍两个方式:

1.使用find_in_set函数:

select * from table where id in (2,7,1,4,3) order by find_in_set(id,'2,7,1,4,3');

2.使用order by field

select * from table where id in (2,7,1,4,3) order by field(id,2,7,1,4,3);

 

展开阅读全文

按年份查询结果

08-16

这是在Action里面写的查询MySql数据库的结果,在jsp页面上显示出来的。rnprivate List getFinanceList(HttpServletRequest request)throws Exceptionrn ICommonService commonService = this.getCommonService();rn Finance finance = new Finance(); rn List amountList = this.getCommonService().getObjectList("from CAgreementAmount");rn SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); rn Double[] d7eto= new Double[13];// 有12个月 ,第十三个月是存放十二个月的总和rn CAgreementAmount caa =new CAgreementAmount();rn for(CAgreementAmount aa : amountList) rn String date = aa.getPaymentDeadline();rn String[] D = date.split("-");rn String year = D[0];rn String month = D[1];rn String day = D[2];rn CAgreement a = aa.getCAgreement();rn List aplist = this.getCommonService().getObjectList("from CAgreementProgram c where c.id.agreementId=" + a.getId());rn for(CAgreementProgram ap : aplist) rn CProgram p = (CProgram)this.getCommonService().getObj("from CProgram c where c.id=" + ap.getId().getProgramId());rn CProgramType pt = p.getCProgramtype();rn if(year.equals("2011")) rn if(pt.getName().equals("ETOM") || pt.getName().equals("ETOV"))rn int x = format.parse(aa.getPaymentDeadline()).getMonth(); rn if(d7eto[x]==null)rn d7eto[x]=0.0;rn rn d7eto[x]=d7eto[x]+aa.getPaidamount(); // 存放每个月的结果rn if(d7eto[12]==null)rn d7eto[12]=0.0;rn rn d7eto[12]=d7eto[12]+aa.getPaidamount();// 存放十二个月的总和rn rn rn rnrn finance.setEtomainBusinessIncome(d7eto);rn List list=new ArrayList();rn list.add(finance); rn request.setAttribute("list", list);rn return list;rn rnrnrnrnrnjsp 页面上:rn rn rn rn rn rn rn rn rn rn rn rn 科目rn 一月rn 二月rn 三月rn 四月rn 五月rn 六月 rn 七月rn 八月 rn 九月 rn 十月 rn 十一月rn 十二月 rn Totalrn rnrn rn ETOrn td>主营业务收入rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn我现在是想实现在jsp页面上,输入年份(如输入2011 点击 Create 按钮 就把2011 年的 ETO主营业务收入 查询出来 ,rn输入2010 点击 Create 按钮 就把2010 年的 ETO主营业务收入 查询出来 ).在Action 里面还要做哪些修改,jsp页面上怎么写。rn小弟现在卡在这里了,还望会的人 不吝赐教 不胜感激。rn 论坛

没有更多推荐了,返回首页