`
zhaohaolin
  • 浏览: 984210 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

查询及删除重复记录的方法 (一) 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people whe

阅读更多

一个MYSQL多值查询的存储过程

DELIMITER $$

DROP PROCEDURE IF EXISTS `ipy`.`sp_pers_srch`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_pers_srch`(IN comp_id int(15),IN var_emplid varchar(15),
 IN var_first_name varchar(30),IN var_last_name varchar(30))
BEGIN
  SET @stmt = "SELECT emplid,first_name,last_name FROM ipy_pers_data WHERE 1 = 1";
  SET @op = "'";
  SET @e = " AND emplid = ";
  SET @f = " AND first_name = ";
  SET @l = " AND last_name = ";
  SET @c = " AND company_id = ";
  IF IFNULL(NULL,LENGTH(var_emplid)) != 'NULL' THEN
    SET @stmt = CONCAT(@stmt,@e,@op,var_emplid,@op);
  END IF;
  IF IFNULL(NULL,LENGTH(var_first_name)) != 'NULL' THEN
    SET @stmt = CONCAT(@stmt,@f,@op,var_first_name,@op);
  END IF;
  IF IFNULL(NULL,LENGTH(var_last_name)) != 'NULL' THEN
    SET @stmt = CONCAT(@stmt,@l,@op,var_last_name,@op);
  END IF;
  SET @stmt = CONCAT(@stmt,@c,@op,comp_id,@op);
  PREPARE s1 FROM @stmt;
  EXECUTE s1;
  DEALLOCATE PREPARE s1;
  IF FOUND_ROWS() != 0 THEN
    SET @error_code = 0;
  ELSE
    SET @error_code = 1;
  END IF;
  SELECT @error_code;
END$$

DELIMITER ;

 

分享到:
评论

相关推荐

    SQL重复记录查询与删除

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 只能显示哪些记录是重复的。 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 3、查找表中...

    SQL重复记录查询的几种方法

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 代码如下:select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count (peopleId) > 1)2、删除...

    ORACLE重复记录查询.docxORACLE

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count (peopleId) > 1) 2、删除表中多余...

    数据库 查询删除重复数据

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

    SQL重复记录查询和删除方法

    查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  select * from people  where peopleId  in (select peopleId from people  group by peopleId  having count(peopleId) > 1)  2....

    用SQL语句,删除掉重复的记录

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、删除表中多余的...

    SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 例二:  ...

    解析Oracle查询和删除JOB的SQL

    查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count...

    SQL删除重复行

    筛选重复行,删除重复行 使用游标来实现。 delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid)...

    Mysql删除重复数据保留最小的id 的解决方法

    在网上查找删除重复数据保留id最小的数据,方法如下: DELETE FROM people WHERE peopleName IN ( SELECT peopleName FROM people GROUP BY peopleName HAVING count(peopleName) > 1 ) AND peopleId ...

    MySQL 索引分析和优化

    如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录...

    Renren_dianzan:给某人最近的n条状态点赞

    Renren_dianzan Usage 我的node版本 v0.10.26 使用:node renren.js yourusername yourpassword peopleid yourusername,yourpassword 是你的...如果你想某人新出状态就马上点赞的话,可以在主机上设置30min 执行一次。

Global site tag (gtag.js) - Google Analytics