加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中sum 函数怎么用

发布时间:2022-06-24 13:10:50 所属栏目:MySql教程 来源:互联网
导读:mysql sum()函数 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下: SUM(DISTINCT expression) 参数 描述 expression 必须项。字段或公式 SUM()函数是如何工作的? 如果在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0。
  mysql sum()函数
 
  SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下:
 
  SUM(DISTINCT expression)
  参数 描述
  expression 必须项。字段或公式
  SUM()函数是如何工作的?
 
  如果在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0。
  DISTINCT运算符允许计算集合中的不同值。
  SUM()函数在计算时,会忽略列值为NULL的行。
  sum()函数的使用示例
  
  SELECT orderNumber,
         FORMAT(SUM(quantityOrdered * priceEach),2) total
  FROM orderdetails
  GROUP BY orderNumber
  ORDER BY SUM(quantityOrdered * priceEach) DESC;
  执行上面查询语句,得到以下结果 -
 
  +-------------+-----------+
  | orderNumber | total     |
  +-------------+-----------+
  |       10165 | 67,392.85 |
  |       10287 | 61,402.00 |
  |       10310 | 61,234.67 |
  |       10212 | 59,830.55 |
  *** 此处省略了一大波数据 *****
  |       10116 | 1,627.56  |
  |       10158 | 1,491.38  |
  |       10144 | 1,128.20  |
  |       10408 | 615.45    |
  +-------------+-----------+
  327 rows in set
  MySQL SUM与HAVING
 
  您可以使用HAVING子句中在SUM函数中来根据特定条件过滤结果。例如,您可以计算总订单量,只能选择总金额大于60000的订单。如下查询语句 -
 
  SELECT orderNumber,
         FORMAT(SUM(quantityOrdered * priceEach),2)
  FROM orderdetails
  GROUP BY orderNumber
  HAVING SUM(quantityOrdered * priceEach) > 60000
  ORDER BY SUM(quantityOrdered * priceEach);
  执行上面查询语句,得到以下结果 -
  
  MySQL SUM与LIMIT
 
  假设您想要计算products表中前十名最昂贵的产品的总和,可以提出以下查询:
 
  SELECT SUM(buyprice)
  FROM products
  ORDER BY buyprice DESC
  LIMIT 10;
  执行上面查询语句,得到以下结果 -
 
  上面语句是怎么运行的?子查询选择十大价格最高的产品。外部查询计算从子查询返回的前10个价格最高的产品的总和。
 
  MySQL SUM与NULL
 
  如果没有匹配的行,则SUM函数返回NULL值。 有时,您希望SUM函数返回0而不是NULL。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!