MYSQL将字符串分解为不同的结果

时间:2017-06-27 13:04:17

标签: mysql

我需要一些关于mysql查询的帮助

我有一个成员id字符串,如| 1 | 2 | 3 | 4 |,每个数字代表一个成员ID。 该字符串存储在其中一个表中。

如何使用一个查询获得结果 例如

select memberid,name,age,email from member where memberid = explode('|1|2|3|4|')

从1开始获得4个成员结果,如下面的

MemberId|name|age|email
1       |    |   |
2       |    |   |
3       |    |   |
4       |    |   |

非常感谢任何帮助

3 个答案:

答案 0 :(得分:0)

试试这个:

select memberid,name,age,email from member where MemberId = 1 or MemberId = 2 or MemberId = 3 or MemberId = 4 or MemberId = 5

或使用IN:

select memberid,name,age,email from member where MemberId IN(1,2,3,4,5)

答案 1 :(得分:0)

将您的会员ID字符串存储为1,2,3,4,5并使用mysql IN运算符在单个查询中获取其id与以上某个ID匹配的记录

$id='5|3|4|1|2';
$id=explode('|',$id);
sort($id);
$id=implode(',',$id);
select memberid,name,age,email from member where memberid IN($id)

答案 2 :(得分:0)

SELECT memberid, name, age, email 
  FROM member 
  WHERE find_in_set(memberid , '1,5,3,2')
  ORDER BY find_in_set(memberid , '1,5,3,2')