mysql聚合函数

1. 字符串操作

  • CONCAT(s1,s2,…) :返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL。
  • CONCAT_WS(x,s1,s2,…) 返回多个字符串拼接之后的字符串,每个字符串之间有一个x。
  • SUBSTRING(s,n,len)、MID(s,n,len) 两个函数作用相同,从字符串s中返回一个第n个字符开始、长度为len的字符串。
  • LEFT(s,n)、RIGHT(s,n) 前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符。
  • INSERT(s1,x,len,s2) 返回字符串s1,其子字符串起始于位置x,被字符串s2取代len个字符。
  • REPLACE(s,s1,s2) 返回一个字符串,用字符串s2替代字符串s中所有的字符串s1。
  • LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1) 三个函数作用相同,返回子字符串str1在字符串str中的开始位置(从第几个字符开始)。
  • FIELD(s,s1,s2,…) 返回第一个与字符串s匹配的字符串的位置。

2. 除法运算

select * concat(
round(
ifnull(count(case when vm>0 then 1  end)/count(case when vm>=0 then 1end)*100, 0)
, 2),'%') from dual
### MySQL 聚合函数概述 聚合函数在 SQL 查询中扮演着重要角色,能够帮助处理复杂的数据集并提取有价值的信息。这些函数通常与 `GROUP BY` 子句一起使用来汇总数据。 #### 常见的 MySQL 聚合函数 - **COUNT()**: 统计记录数。 ```sql SELECT COUNT(*) AS total_records FROM employees; ``` - **SUM()**: 计算数值列总和。 ```sql SELECT SUM(salary) AS total_salary FROM employees; ``` - **AVG()**: 返回指定列的平均值[^5]。 ```sql SELECT AVG(age) AS average_age FROM users; ``` - **MAX() 和 MIN()**: 获取某一列的最大值或最小值[^2]。 ```sql SELECT MAX(price), MIN(price) FROM products; ``` - **GROUP_CONCAT()**: 将多行结果合并为单个字符串,并用给定字符分隔[^4]。 ```sql SELECT department, GROUP_CONCAT(name SEPARATOR ', ') AS employee_names FROM staff GROUP BY department; ``` #### 实际应用案例 假设有一个名为 `orders` 的表存储订单信息,其中包含字段 `id`, `customer_id`, `amount` (订单金额),下面是一些实际应用场景: - #### 订单数量统计 ```sql SELECT customer_id, COUNT(id) as order_count FROM orders GROUP BY customer_id; ``` - #### 客户消费总额 ```sql SELECT customer_id, SUM(amount) as total_spent FROM orders GROUP BY customer_id; ``` - #### 平均订单价值计算 ```sql SELECT customer_id, AVG(amount) as avg_order_value FROM orders GROUP BY customer_id; ``` - #### 单笔最高最低消费 ```sql SELECT customer_id, MAX(amount) as max_spend, MIN(amount) as min_spend FROM orders GROUP BY customer_id; ``` 以上例子展示了如何利用不同的聚合函数来进行数据分析工作,在实际项目开发过程中非常实用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值