我想要一个计算函数,两个数A和B都为整数,经过运算相加,结果是要唯一的  比如说我的计算函数为0.5*A+B   那我A=10  B=5和A=20  B=0的结果是一样的

解决方案 »

  1.   

    是这样的  我有两列字段
    A     B
    1     2
    2     3
    2     3
    3     3
    我想要两个结果一个是累加的结果sum(A+B)=19  另一个是去掉重复的结果sum(A+B)=14 
    我想到用另设一个字段A+B as total 来表示结果sum(total)  ,sum(distinct total)
    还有  为什么sum在计算小数的时候,后面会出现一堆连带的小数
    sum(id/POWER(10,LENGTH(id)))结果是0.30000000000000004
    id为1和20两个值
      

  2.   

    因为A+B这个计算2+3和1+4是一样的,所以在total这个字段设置的时候  distinct也去除了   我想弄个计算方法,使这两个整数计算结果唯一,这样就可以distinct了,提取的时候经过逆向运算返回到A+B
      

  3.   

    select sum(a+b)/(select sum(a+b) from tt) 
    from (select distinct a,b from tt) a用DECIMAL类型 OR 用ROUND设置小数位数
      

  4.   

    select * from (
    select a,b,a+b as k from table1 
    ) t
    group by k