在sql数据库中,我用聚合函数sum,为啥显示操作数据类型varchar对于sum运算符无效啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql数据库中,我用聚合函数sum,为啥显示操作数据类型varchar对于sum运算符无效啊?相关的知识,希望对你有一定的参考价值。

在sql数据库中,我用聚合函数sum,为什么显示操作数据类型varchar对于sum运算符无效啊?

varchar数据类型不支持做聚合运算,你可以试试看修改数据表结构,把数据类型从varchar改为decimal(18,2)、int、float等可计算的数据类型,最好给个默认值0,如果保存的时候还提示报错,那一般是因为该字段下有些记录为空或者Null了,建议先将该字段所有空值改成0再修改字段的数据类型。 参考技术A sum是对运算类型的使用,Varchar是字符串,所以无效。对varchar可以使用select 字段+';' from 表 for xml path(''),刚学来的。本回答被提问者和网友采纳

SQL——连接查询聚合函数开窗函数

连接查询

  • inner join,用的最多,表示多张表一一对应

 聚合函数

  • 操作行数据,进行合并
  • sum、avg、count、max、min

开窗函数

  • 将合并的数据分布到原表的每一行,相当于多出来了一列,这一列可能是sum求和的数、或者avg平均数的值
  • 也可以与排名函数一起使用

 分组功能

  • 对某一列进行分组,也就是对数据进行压缩
  • 分组关键字经常与聚合函数搭配使用,计算每一组的合并后的数值
  • group by 之后如果是多个,标识的多个列的值一样的分成一个组

联合查询

  •  将多个查询结果合并成一个结果集,但是要求列数,且对应的列的值类型要一致
  • union 合并且排序 并集
  • union all 不合并,全部显示,不排序
  • except 左查询中返回右查询没有找到的所有非重复值
  • intersect 两个结果集的交集(即两个查询都返回的所有非重复值)

子查询

  • 将一条查询语句的查询结果作为另一条查询语句的判断条件,这样的形式称为子查询,子查询可以是多个

 

以上是关于在sql数据库中,我用聚合函数sum,为啥显示操作数据类型varchar对于sum运算符无效啊?的主要内容,如果未能解决你的问题,请参考以下文章

SQL数据库中聚合函数SUM和COUNT的用法

SQL——连接查询聚合函数开窗函数

如何在 JPA 的两列上运行像 SUM 这样的聚合函数并显示它们的结果?

查询分组中的 Oracle SQL 条件聚合函数

SQL Server中的聚合函数都有哪些?

求SQL的聚合函数的定义,特点,注意事项等