sql函数和用法

本文介绍了MySQL的FIND_IN_SET函数,用于精确匹配列表中的元素,避免模糊查询带来的问题。通过示例展示了如何使用该函数筛选含有特定值的数据。同时提到了IFNULL、CEIL、AVG等数据库函数在统计分析中的应用,如计算平均值和处理NULL值。此外,还提及了数据库查询中的聚合函数,如COUNT、MAX、MIN和SUM,以及它们在获取数据统计信息时的作用。
摘要由CSDN通过智能技术生成

1、FIND_IN_SET :案例 防止你模糊查询,查3,把含有"13,"含有 "23,"的一起查出来

FIND_IN_SET(str,strlist);

其中str为要查询的目标字符串, strlist为字段名称

实例查询,准备数据如下

CREATE TABLE `tb_test` (
  `id` int(8) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `list` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
);
INSERT INTO `tb_test` VALUES (1, 'name', 'mike,allen,jack,jay');
INSERT INTO `tb_test` VALUES (2, 'name2', 'jay,pojo,jay');
INSERT INTO `tb_test` VALUES (3, 'name3', 'allen,mike,yago');

使用FIND_IN_SET进行查询含有jay的list

SELECT id,name,list from tb_test WHERE FIND_IN_SET('jay',list);

实际案例: 防止你模糊查询,查3,把含有"13,"含有 "23,"的一起查出来

FIND_IN_SET('".$v['dorm_id']."',dorm_ids)"

在这里插入图片描述
防止你模糊查询,查3,把含有"13,"含有 "23,"的一起查出来

 $user=Db::name('user') ->where("FIND_IN_SET('".3."',dorm_ids)" )   ->find()   ;

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

CEIL() 函数传回大于等于给定数值表达式的最小整数

AVG() 函数返回数值列的平均值。

实例:

     $data['evaluate_data'] = (new Evaluate)->where(['product_id' => $productId])
              ->field('COUNT(*) as count, IFNULL(CEIL(AVG(rate)/5*100),0) as avg')
          	  ->cache(10)->find();

COUNT() - 返回行数

FIRST() - 返回第一个记录的值

LAST() - 返回最后一个记录的值

MAX() - 返回最大值

MIN() - 返回最小值

SUM() - 返回总和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值