mysql聚合函数匹配_MySQL 05章_模糊查询和聚合函数

在之前的查询都需要对查询的关机中进行“精确”、“完整”完整的输入才能查询相应的结果,

但在实际开发过程中,通常需要考虑用户可能不知道“精确”、“完整”的关键字,

那么就需要提供一种不太严格的查询方式,即模糊查询,只需要输入大概的部分内容就能完成查询。

一、模糊查询1、使用LIKE关键字

语法:SELECT FROM 表名 [WHERE 字段名 LIKE %关键字%];

说明:通配符_(表示任意0到1个字符)、%(表示任意的0到多个字符)

举例:SELECT * FROMtb_studentWHERE student_name LIKE '%娘%' OR phone LIKE '%娘%' OR address LIKE '%娘%' OR email LIKE '%娘%';2、使用BETWEEN END关键字

语法:SELECT FROM 表名 [WHERE 字段名 BETWEEN 起始值 AND 终止值];

说明:“起始值”和“终止值”都包含

举例:SELECT * FROM tb_score WHERE student_score >=80 AND student_score <= 90;SELECT * FROM tb_score WHERE student_score BETWEEN 80 AND 90;3、使用IN关键字

语法:SELECT FROM 表名 [WHERE ];

说明:查询的关键字若包含在IN后面的“可取值列表”中,认为是合法的

举例:--查询“java”和“HTML”的课程信息

SELECT * FROM tb_subject WHERE subject_name = "java" OR subject_name ="html";SELECT * FROM tb_subject WHERE subject_name IN("java","html");4、使用正则表达式 (REGEXP)子句

语法1、:SELECT FROM 表名 [WHERE ];

语法2、:SELECT REGEXP ;

说明:被匹配的值若满足正则表达式规则,表示匹配成功显示1,否则显示0

举例:SELECT * FROM tb_student WHERE email REGEXP '^([a-zA-Z0-9]+)*@([a-zA-Z0-9]+)\.([a-zA-Z]{2,5})$';--^[\u2E80-\u9FFF]+$

SELECT * FROM tb_student WHERE not student_name REGEXP "^([u0391-uFFE5]{2,4})$";

二、聚合函数1、COUNT():统计满足条件的记录数2、SUM():计算求和3、AVG():计算平均值4、MAX():求最大值5、MIN():求最小值SELECT * FROM tb_score LIMIT 10,5;--针对tb_score表,每页最多显示5条记录,请查询第二页

SELECT * FROM tb_score LIMIT 5,5;SELECT SUM(student_score) FROMtb_score;SELECT AVG(student_score) FROMtb_score;SELECT MAX(student_score) FROMtb_score;SELECT MIN(student_score) FROMtb_score;

pageCount= (rowCount%pageSize == 0) ? rwoCount / pageSize : rowCount / pageSize + 1;

三、mysql中常用函数:1、与字符相关的函数:SELECT CONCAT(student_no,'----',student_name) FROMtb_student;SELECT address, LENGTH(address) 长度 FROMtb_student;SELECT UPPER("afaag");SELECT LOWER("asdKKJF");2、与数值相关的函数:--ROUND(X,D) 四舍五入

SELECT ROUND(85.65622,2);--ROUND(X) 四舍五入,d为0

SELECT ROUND(85.65622);--`TRUNCATE`(X,D) 截断函数

SELECT TRUNCATE(85.65622,2);--`MOD`(N,M) 取模

SELECT MOD(10,3);3、与日期相关的函数:

计算日期时间差的函数

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2);

说明:

unit:指点计算哪种类型的差值

datetime_expr1:减数

datetime_expr2:被减数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值