Mysql中关于ID串的查询


 

 

Mysql中关于ID串的查询:
   准备两张表,只做测试使用,没有任何实际的意义!
  
   新建一张表:users  表示参会人员

  

 新建表  meet 表示会议

 

现在要实现查询meet表中musers列中的id串对应的uname

SELECT ta.mid,ta.mname,GROUP_CONCAT(ta.uname)as ids FROM (select   m.mid,m.mname,u.uname,FIND_IN_SET(u.uid,m.musers)as tt from meet m,users u)as ta where ta.tt>0 GROUP BY ta.mid

 

  效果如下图:

 

         

   注:
 1:  mysql手册中find_in_set函数的语法:
 FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。
一个字符串列表就是一个由一些被‘,’符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。
如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
2:GROUP_CONCAT()用于将一组中的数据拼起来即行转列

第一次写博客,布局简直辣眼呀。。。。。
有错误希望指出,谢谢!
 

 
 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM