MySql - Select 来自用逗号连接的字符串

MySql - Select from a string concatenated with a comma

假设我有这个 MySql table:

id name city
1 John NYC
2 Albert London
3 Joanna Paris
4 Mike LA
5 Norton São Paulo
6 Pedro Rio de Janeiro
7 August Chicago
8 Carol Miami

所以我得到了这个字符串,我想过滤具有这些 ID 的人: "1,3,6,8" 有时我得到的字符串是不同的:“1,5,4”或“3,6,5,8,1”等。 知道如何实现吗?

您将在查询中使用 WHERE IN (...) 结构:

SELECT *
FROM yourTable
WHERE id IN (1, 3, 6, 8);

@Vanderlei 根据您的评论,我建议不要使用 subquery,而是使用连接,因为它执行得更快。

select products_table.id,products from products_table 
inner join table_people
on products_table.id=table_people.id
WHERE table_people.city = 'London';

演示:https://www.db-fiddle.com/f/7yUJcuMJPncBBnrExKbzYz/61