mysql下sql语句里面的sum函数在和group by同时使用的时候会自动的四舍五入

例如,我有一条数据,其中有个叫‘money’的字段,值为9999999999999999999 类型为varchar(19),我在使用sum(money) as money1,group by的时候查出来的money会变为1e19。如何解决?

第1个回答  2014-04-24
您的数据结构错了,您可以将varchar(19),换成decimal类型就可以了,数字最好不要按照 字符串存储追问

嗯,感觉这样可以,但是问题是这个不是我能说改就能改的,涉及地方有点多,有没有不改数据库结构就能解决的办法?

追答

那您用 CONVERT(decimal(18), money) 将类型转化一下再SUM

MySQL中的Sum函数用法详解mysql中sum使用
我们可以使用Sum函数和Group By子句来按照部门统计销售额:SELECT SUM(quantity * unit_price) AS total_sales, DATE_FORMAT(sales_date, ‘%Y-%m-%d’) AS sales_date FROM sales GROUP BY DATE_FORMAT(sales_date, ‘%Y-%m-%d’);执行结果为:total_sales | sales_da...

闲话Mysql之sum() over()与sum() group by 有啥不同~
首先,用sum() group by 的结果可能是这样:执行SQL如"select organization,sum(number) from test group by organization",它会按组织分类求和。相反,sum() over(partition by)的查询,如"select organization,sum(number) over(partition by organization) as sum_num from test",它会在每个组织内...

MySQL实现如何将两行数值相加mysql两行数值相加
在MySQL中,将两行数值相加可以使用SUM函数或临时表两种方法实现。方法一使用了子查询和AS关键字,比较简单易懂。而方法二则使用了UNION ALL和GROUP BY语句,需要对SQL语法稍有了解,但可以获取更好的性能表现。根据具体情况选择不同方法即可。

MySQL聚合函数SUM让数据统计更简单mysql中sunm
SUM函数是MySQL中一种有用的聚合函数,可以简化数据统计。SUM函数的语法相对简单,在简单和复杂的查询中都可以使用。在实际应用中,SUM函数可用于计算全部数值列、指定行的数值之和、不同组中数据的总和以及空列或NULL列的总和。

mysql group by用法
MySQL中的GROUP BY语句是用于对查询结果进行分组的一种机制。它可以将查询结果按照指定的列进行分组,并对每个分组进行汇总计算。GROUP BY语句通常与聚合函数(如SUM、AVG、COUNT等)一起使用,可以方便地对分组后的结果进行统计分析。column1, column2, ... columnN是要进行分组的列名;aggregate_function...

Mysql计算一列总和的方法mysql一列总和
本文介绍了Mysql计算一列总和的四种方法。无论是使用SUM()函数、ROLLUP函数、OVER子句还是HAVING子句,都可以在实际应用中根据需要灵活使用。需要注意的是,在使用GROUP BY子句计算分组数据的时候,要确保分组的列名是唯一的。另外,聚合函数也可以应用在其他统计计算中,比如计算平均值、最大值等。熟练掌握...

MySQL中使用SUM查询实现数据求和mysql中sum查询
在MySQL中,SUM函数可以用于对数据表中特定列中的数据进行求和计算。如果您需要汇总表中的数据并获得总和,那么就可以使用MySQL的SUM函数。SUM函数的语法如下:SELECT SUM(column_name) FROM table_name;其中,column_name是您要对其求和的列的名称,而table_name是要对其应用SUM函数的表的名称。要演示如何...

sql中case和group by一起用的一个问题
SELECT tt,SUM(population)FROM (SELECT SUM(population) AS population, (CASE WHEN country='中国' THEN'亚洲' WHEN country='印度' THEN'亚洲' WHEN country='日本' THEN'亚洲' WHEN country='美国' THEN'北美洲' WHEN country='加拿大' THEN'北美洲' WHE...

mysql SQL语句如何将sum放在where后面做条件怎么写
如下:select col1,sum(cols2) from table_name group by col1 having sum(col2)>100不需要用where,用having就可以,这个就代表查询按照col1分组后,sum(col2)大于100的那些。

MySQL中一列求和函数SUMmysql一列求和函数
现在,我们需要统计该表中所有交易记录的总金额。可以使用以下SQL语句:SELECT SUM(amount) FROM transaction;如果我们还需要按照日期分组,将每天的总交易金额计算出来,则可以使用以下SQL语句:SELECT date, SUM(amount) FROM transaction GROUP BY date;SUM函数的注意事项 在使用SUM函数时,需要注意以下几...

相似回答