column1(int)  column2(double)
  3                6.2
  4                1.8
  6                0.2现在我要实现 3 * 6.2 + 4 * 1.8 + 6 * 0.2 的计算
请问sql语句怎么写?我试过的就是:sum(column1 * column2)
column3
3 * 6.2
4 * 1.8
6 * 0.2
然后在累加,
感觉不对

解决方案 »

  1.   

    就是这个啊! sum(column1 * column2)你我怎么感觉不对的? 
    注意计算的时候,浮点数会有误差。0.33333 * 3  != 1
      

  2.   

    那请帮忙看看这句sql有哪里错了?select ifnull(sum(`ms`.`SEND_MEDICI_NUM`*`mi`.`MEDICI_PRICE`),0) as s_total from (`fmlyplan`.`medicine_send` `ms` join `fmlyplan`.`medicine_info` `mi`) where ((`ms`.`RECV_MEDICI_UNIT`=2) and (`ms`.`RECV_MEDIC_ISACTIVE` = '0') and (`ms`.`SEND_MEDICI_DT_TM`<='2010'))
      

  3.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。