从数据库中获取重复数据

时间:2012-03-13 07:08:09

标签: php mysql sql

我想从数据库中获取重复数据,但问题是:
我有一个数组中的用户ID:

1235, 1235, 5468, 84321, 1235

我使用了implode并将实现中的字符串中的数组放入数据库中,如:

"select * from tbl_name where userid in ('" . $implode_arr . "') limit 0, 10";

这给我的结果如1235, 5468, 84321,但我想要所有的数据,解决方法就是在FOR LOOP中运行查询,否则

但我想要相同,因为我在查询中添加了分页。

我不想要任何代码,因为它已经正常工作但问题是添加分页请帮助解决问题:(

2 个答案:

答案 0 :(得分:0)

听起来您想要将用户数据加入此查询中。您可以使用LEFT JOIN这样做:

SELECT *
FROM tbl_name
LEFT JOIN database_name.user ON database_name.user.id = tbl_name.userid
WHERE userid IN (...)
LIMIT 0, 10

这假设您的用户存储在user数据库的database_name表中,并且用户表的id字段与tbl_name匹配字段userid。如果您的字段或表名称不同,只需在此查询中更改它们即可。在PHP中将是:

"SELECT * FROM tbl_name LEFT JOIN database_name.user ON database_name.user.id = tbl_name.userid WHERE userid IN ('" . $implode_arr . "') LIMIT 0, 10"

请注意,要连接两个数据库,这两个数据库必须可由同一个连接用户访问。

答案 1 :(得分:0)

尝试此操作也会按预期工作

     select * from tbl_name where FIND_IN_SET(user_id,'1235, 1235, 5468, 84321, 1235
') limit 1,10

Check this to remove duplicates

相关问题