将逗号分隔的值与 MySQL 中的单列值匹配 [重复]
Posted
技术标签:
【中文标题】将逗号分隔的值与 MySQL 中的单列值匹配 [重复]【英文标题】:Match comma separated values to single column value in MySQL [duplicate] 【发布时间】: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 列表? 【参考方案1】:GROUP_CONCAT
就是为此而设计的。
SELECT GROUP_CONCAT(id) FROM `beer_style_list`
【讨论】:
这里不是洞的问题,只是小部分以上是关于将逗号分隔的值与 MySQL 中的单列值匹配 [重复]的主要内容,如果未能解决你的问题,请参考以下文章