SELECT
sku_p as SKU,
'all' AS 配送方式,
@tt:=sum(case when (transaction_type ='Order' and amount_type='ItemPrice' and amount_description='Principal') then 1 else 0 end) as df,
@tt as asdf,
其原因是浮点数的不准确本质,它们无法以准确值保存在计算机体系结构中。这里解决方法可以用mysql处理小数的函数:
round(x,d) :用于数据的四舍五入,ROUND(100.3465,2)-->100.35;
TRUNCATE(x,d):函数返回被舍去至小数点后d位的数字x,TRUNCATE(100.3465,2)-->100.34;
FORMAT(X,D):强制保留D位小数,整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的,FORMAT(100.3465,2)-->100.35;
convert(value,type);类型转换,相当于截取,CONVERT(100.3465,DECIMAL(10,2))-->100.35;
select id,
@tt:=sum(id) ,@tt
from clues group by id limit 11 ;
结果如图
显示的内容总是赋值之前的,第二行的值显示的是第一行赋的值,第三行是第二行的值
为什么出现好多3不清楚,这个内容给你参考下