利用limit取靠近值

1. String tz=patientinfo.getBrtz(); 2. String age=patientinfo.getNl(); 3. String sql="select Fhz from who_age_weight where Sex='"+sex+"' and Weight='"+tz+"' and Age='"+age+"'"; 4. int i=0; 5. String k5=""; 6. i=igeneralDAO.count(sql); 7. if(i==0){//没有符合条件的值,那只能利用靠拢原则进行判断,取离其值最近的作为标准 8. 9. /***********************************取接近tz的最大值***************************/ 10. String sql1="select Weight from who_age_weight where Age='"+age+"' and Sex='"+sex+"' and Weight>="+tz+ " limit 1"; 11. String sql2="select Weight from who_age_weight where Age='"+age+"' and Sex='"+sex+"' and Weight<="+tz+" group by Weight desc limit 1"; 12. /*********************************** 取接近tz的最小值***************************/ 13. 14. List list1=igeneralDAO.findBySQL(sql1); 15. Iterator it1=list1.iterator(); 16. double tz1=Double.parseDouble(tz); 17. double k2=0.0; 18. double k1=0.0; 19. System.out.println("你输入的的体重是"+tz); 20. if(it1.hasNext()==false){ 21. k5="没有符合这个体重的测试值,请检查信息是否输入错误"; 22. return k5; 23. } 24. while(it1.hasNext()){ 25. k1=Double.parseDouble(it1.next().toString());//最大值 26. System.out.println("最大值k1:"+k1); 27. } 28. List list2=igeneralDAO.findBySQL(sql2);//最小值 29. Iterator it2=list2.iterator(); 30. if(it2.hasNext()==false){ 31. k5="没有符合这个体重的测试值,请检查信息是否输入错误"; 32. return k5; 33. } 34. while(it2.hasNext()){ 35. k2=Double.parseDouble(it2.next().toString()); 36. System.out.println("最小值k2:"+k2); 37. } 38. System.out.println("(tz1-k2):"+(tz1-k2)); 39. System.out.println("(k1-tz1):"+(k1-tz1)); 40. if((tz1-k2)>=(k1-tz1)){ 41. String k3=String.valueOf(k1); 42. String sql3="select Fhz from who_age_weight where Sex='"+sex+"' and Weight='"+k3+"' and Age='"+age+"'"; 43. System.out.println("离最大值"+k3+"差距更小"+sql3); 44. List list=igeneralDAO.findBySQL(sql3); 45. Iterator it=list.iterator(); 46. while(it.hasNext()){ 47. k5=it.next().toString(); 48. } 49. return k5; 50. 51. }else 52. { 53. String k6=String.valueOf(k2); 54. String sql4="select Fhz from who_age_weight where Sex='"+sex+"' and Weight='"+k6+"' and Age='"+age+"'"; 55. System.out.println("离最小值"+k6+"差距更小"+sql4); 56. List list=igeneralDAO.findBySQL(sql4); 57. Iterator it=list.iterator(); 58. while(it.hasNext()){ 59. 60. k5=it.next().toString(); 61. } 62. return k5; 63. } 64. 65. 66. }else if(i>1){ //利用查询后有符合条件的数据直接返回所查到的值 67. List list=igeneralDAO.findBySQL(sql); 68. Iterator it=list.iterator(); 69. while(it.hasNext()){ 70. 71. k5=it.next().toString(); 72. } 73. 74. return k5; 75. } 76. 77. return null; 78. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值