片区、 站名、    接收率 、理化合格率、10万微生物合格率、50万微生物合格率、50万体细胞合格率 得分
杭州 宏达养殖场 100 100      100              100               100          500               杭州 华达养殖场 98.36 100      72.58            100                99          469.94

这个排名方法不太合理,我想这样排名。
片区、站名、接收率 、得分 、理化合格率、得分、10万微、得分、50万微、得分、50万体、得分、综合得分
杭州 宏达     100    1    100       1    100  1     100    1   100      1      5          杭州 华达     98.36  2        100       1    72.58   2     100     1     99       2      8

请问各位大侠用mysql能实现这个吗,求帮助。
就这些分了

解决方案 »

  1.   

    在线坐等高人解答,要是无法用MYSQL实现我也就死心了。求高人给个答案吧
      

  2.   

    数据是通过查询得出来的,原表结构为
    日期  站名 10微  50微  50体 脂肪  蛋白  干物质 收购量  拒收量
    我查询得到的他
    片区、 站名、 接收率 、理化合格率、10万微生物合格率、50万微生物合格率、50万体细胞合格率 得分
    杭州 宏达养殖场 100 100 100 100 100 500 
    杭州 华达养殖场 98.36 100 72.58 100 99 469.94

    这个排名不合适,能用下面这样输出的查询结果吗,最终结果输出到datagrid控件中
    片区、站名、接收率 、得分 、理化合格率、得分、10万微、得分、50万微、得分、50万体、得分、综合得分
    杭州 宏达 100 1 100 1 100 1 100 1 100 1 5 
    杭州 华达 98.36 2 100 1 72.58 2 100 1 99 2 8
      

  3.   

    给你写个简单的你参照下吧:select 片区,站名,fengshu1+fengshu2+.... as 总分数
    from(
       select 片区,站名,接受率,
       case when 接受率 >[比率1] and 接受率<[比率2] then 1
            when 接受率 >[比率3] and 接受率<[比率4] then 0.5
            else 0
       end as fengshu1,
       case when 理化合格率 >[比率5] and 理化合格率 <[比率6] then 2
            when 理化合格率 >[比率7] and 理化合格率 <[比率8] then 1
            else 0
       end as fengshu 2
       [......其他你关心的指标也这样去写]  
       from yourtable
    ) r
    order by 总分数 desc
      

  4.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。