【问题标题】:MySql - Select from a string concatenated with a commaMySql - 从用逗号连接的字符串中选择
【发布时间】:2021-11-17 17:02:37
【问题描述】:

假设我有这个 MySql 表:

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”等。 知道如何实现这一目标吗?

【问题讨论】:

  • FIND_IN_SET()
  • 你能告诉我们你正在尝试的查询吗?
  • Ergest,是这样的。我正在使用两个表: SELECT products FROM products_table WHERE id_product IN (SELECT id FROM table_people WHERE city = "London");
  • @Vanderlei 检查我的回答是否对您有帮助

标签: mysql select concatenation where-clause comma


【解决方案1】:

@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

【讨论】:

【解决方案2】:

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

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

【讨论】:

  • 蒂姆,这给了我一个提示。谢谢
猜你喜欢
  • 1970-01-01
  • 2017-11-27
  • 2014-05-27
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
相关资源
最近更新 更多