user_id user_name user_friend_list
1 dharmendra 2,3,4,5,6,7
2 jitendra 1,3,4,5,6,7
3 xyz 1,2,6,7
4 pqr 1,3,4
现在我想提取user_id &基于user_friend_list id的用户名6即它将返回1,2,3 user_id &用户名dharmendra jitendra和xyz.
我只是使用PHP的分裂功能,但它是如此复杂,请给我提供快捷方法
谢谢,关于
您可以使用FIND_IN_SET()
select user_id, user_name
from your_table
where find_in_set(6, user_friend_list) > 0
但它实际上会更好地改变你的表设计。永远不要在一列中存储多个值!
首先表没有规范化,这就是问题存在的原因你必须像这样或更好地打碎这张桌子
表1
user_id
user_name
user_id
friend_id
表2将有一些冗余数据,但是可以通过添加第三个表作为table1和table2之间的映射来删除。
现在您可以使用以下查询来获取结果
select user_id,user_name from table1 as a join table2 as b on a.user_id=b
"SELECT user_id,username from your table WHERE user_id IN (2,3,4,5,6,7)";