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';
假设我有这个 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';