我有逗号分隔的列,需要在mysql中从中获取最常见的值

  • 本文关键字:mysql 获取 常见 分隔 php mysql
  • 更新时间 :
  • 英文 :


我在mysql表字段中有逗号分隔的值,希望获得其中最常见的值。

即我有一个表名为A,其中有两个字段idavailable_values

 id    available_values
 ---   -----------------
 1     3,5,7,9
 2     3,5
 3     5,9

在上面的例子中,所有行中都存在值5,所以我需要得到这个值(平均值-5),因为这在每个记录中都可用。

请帮忙找出解决方案。

提前谢谢。

最好的方法是包含另一个表,其中每个id和值都有一行。但是您可以使用REGEXP来实现输出:

SELECT * FROM table_name WHERE
available_values REGEXP CONCAT('(^|,)(', replace(5,',','|'),')(,|$)')
SELECT * FROM `test` WHERE FIND_IN_SET($keysValue,available_values)

示例

SELECT * FROM `tableName` WHERE FIND_IN_SET($keysValue,columnsName)

最新更新