189 8069 5689

mysql怎么判断集合 判断集合的主要依据是什么

mysql 判断字符串是否有交集

DROP FUNCTION IF EXISTS `INTE_ARRAY`;

创新互联-专业网站定制、快速模板网站建设、高性价比五指山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式五指山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖五指山地区。费用合理售后完善,10年实体公司更值得信赖。

delimiter //

-- 集合交集检查函数

-- @param varchar(255) setA A 集合 如 "1,3,5,9"

-- @param varchar(255) setB B 集合 如 "8,2,3,7"

-- @return int(1) B 集合内单元在 A集合 内存在则返回 1 否则返回 0

CREATE FUNCTION `INTE_ARRAY` (setA varchar(255),setB varchar(255)) RETURNS int(1)

BEGIN

DECLARE idx INT DEFAULT 0 ; -- B 集合单元索引

DECLARE len INT DEFAULT 0;-- B 集合表达式长度

DECLARE llen INT DEFAULT 0;-- 最后检查位置

DECLARE clen INT DEFAULT 0;-- 当前检查位置

DECLARE tmpStr varchar(255);-- 临时检查数据集

DECLARE curt varchar(255);-- B 当前检查的单元

SET len = LENGTH(setB);

WHILE idx len DO

SET idx = idx + 1;

SET tmpStr = SUBSTRING_INDEX(setB,",",idx);

SET clen = LENGTH(tmpStr);

-- 获取当前 setB 中的单元

IF idx = 1 THEN SET curt = tmpStr;

ELSE SET curt = SUBSTRING(setB,llen+2,clen-llen-1);

END IF;

-- 检查是否存在于 setA 中

IF FIND_IN_SET(curt,setA) 0 THEN RETURN 1;

END IF;

-- 当前检查终点与上次检查终点相同则跳出

IF clen = llen THEN RETURN 0;

END IF;

SET llen = clen;

END WHILE;

RETURN 0;

END;

//

delimiter ;

select INTE_ARRAY("1,3,5,9","8,2,3,7") as is_inte_array;

--select INTE_ARRAY("1,3,5,9","2,8,6,10") as is_inte_array;

--select INTE_ARRAY("10,3,5,9","2,8,6,10") as is_inte_array;

--select INTE_ARRAY("1,30,5,9","2,8,6,10") as is_inte_array;

--select INTE_ARRAY("1,30,5,9","2,30,6,10") as is_inte_array;

MySQL——集合查询

SELECT语句的查询结果是记录的集合,多个SELECT语句的结果可进行集合操作

分类:

案例:查询中国的用户与其他年龄小于18岁的用户

并集

交集

差集

mysql查询语句最常用10个

(1)查询表中全部信息:

select * from 表名

(2)查询表中指定列的信息:

select 列1,列2 from 表名

(3)去重:

select distinct 列... from 表名

(4)拼接结果:

select concat(列1,列2) from 表名

(5)设置别名(注意:关键字as可以省略)

select 列 as 别名 from 表名

select 列 别名 from 表名

(6)条件查询:

select 列... from 表名 where 条件

条件中比较运算符:(等于:=  大于:  大于等于:=  小于:  小于等于:=  不等于:!= 或 )

(7)where 列  比较运算符  值

注意:字符串、日期需使用单引号括起来

(8)逻辑运算符(并且:and或   或:or   非:not或!)

where 条件1 逻辑运算符 条件2

where not 条件

(9)范围查询:

where 列 between 条件1  and 条件2;          //列在这个区间的值where 列 not between 条件1 and 条件2;    //不在这个区间where !( 列 between 条件1 and 条件2 );     //同样表示不在这个区间

集合查询(判断列的值是否在指定的集合中):

where 列 in(值1,值2);          //列中的数据是in后的值里面的where 列 not in(值1,值2);   //不是in中指定值的数据

null值查询(注意:列中值为null不能使用=去查询):

where 列 is null;  //查询列中值为null的数据

资料来源 网页链接

mysql中 怎样根据姓名集合查询id集合?

select *from emp where name in('张三','李四','王五');

如果()里面的是变量,可以用数组,只不过数组要处理一下

mysql怎么从集合中查询数据

1、选中需要测试的数据库,并查看测试数据库表;由于表t_people_info中的id是主键,求id的个数即是求数据库表的总记录数,代码如下:

select count(id) from t_people_info;

2、查看数据库表t_people_info中年龄中最小值,需要用到集合函数min(),代码如下:

select min(p_age) from t_people_info;

3、查看数据库表t_people_info中年龄中最大值,需要用到集合函数max(),代码如下:

select max(p_age) from t_people_info;

4、查看数据库表t_people_info中年龄中平均值,需要用到集合函数avg(),代码如下:

select avg(p_age) from t_people_info;

5、若想统计t_people_info中的年龄的总和,用到集合函数sum(),

代码如下:

select sum(p_age) from t_people_info;

6、统计数据库表中记录个数,除了使用count(主键)外,可以使用count(1)、count(*)和count(0),

代码如下:

select count(1) from t_people_info;

select count(*) from t_people_info;

select count(0) from t_people_info;


新闻名称:mysql怎么判断集合 判断集合的主要依据是什么
文章地址:http://cdxtjz.cn/article/hgjgdp.html

其他资讯