【问题标题】:Match comma separated values to single column value in MySQL [duplicate]将逗号分隔的值与 MySQL 中的单列值匹配 [重复]
【发布时间】:2021-01-02 17:09:16
【问题描述】:

我有一个名为 table 的啤酒样式列表:beer_style_list

其中包含这样的数据

现在我有这样的示例逗号分隔值

American Lager,American Light Lager,Bock,Bohemian Pilsner,Doppelbock,Märzen,München Helles,Münchner Dunke,Schwarzbier,Vienna Lager

我试图从beer_style_list 中获取每个逗号分隔值的 ID

这样输出

152, 153, 154, 155, 156, 157, 158, 159, 160, 161

也用逗号分隔。

【问题讨论】:

  • 数据库版本?您的列表中最多有多少个条目? id 可以有多大?
  • 这对你的客户来说是微不足道的;用 sql 做是可能的,但值得麻烦吗?
  • 全部加载进去,做一个查找表,在你的应用层使用。一次查询,无限低成本查找。
  • FIND_IN_SET() 可能在这里有用
  • 我的问题是,你打算如何处理整数 CSV 列表?

标签: mysql sql


【解决方案1】:

GROUP_CONCAT 就是为此而设计的。

SELECT GROUP_CONCAT(id) FROM `beer_style_list`

【讨论】:

  • 这里不是洞的问题,只是小部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
相关资源
最近更新 更多