首页 > 数据库 > MySQL > 正文

mysql中sum 函数怎么用

2024-07-24 12:34:29
字体:
来源:转载
供稿:网友
  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。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表