Mysql或MariaDB中按照in中的值来排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IceS2388627880/article/details/82824359

SQL语句:

select *
from blogs
where INSTR(blogids,concat(',', blogid,','))>0
order by INSTR(blogids,concat(',', blogid,','))  asc;

存储过程语句:

/*varchar(250)的原因是mysql中int最多为11位。前面有限定blogid的最大数目,我的为20。20*(1+1+11)=260。由于业务原因不肯每个都11位,所有取250足够。*/
delimiter //
create procedure proc_blogs_searchselect(in blogids varchar(250))
begin
select *
from blogs
where INSTR(blogids,concat(',', blogid,','))>0
order by INSTR(blogids,concat(',', blogid,','))  asc;
end;
//
delimiter ;

猜你喜欢

转载自blog.csdn.net/IceS2388627880/article/details/82824359