Mysql 如何从逗号分隔的值字段中获取唯一值?

Mysql 如何从逗号分隔的值字段中获取唯一值?,mysql,Mysql,我的表中有一列,我将值存储为逗号分隔的值 现在我需要列出该字段/列中的所有唯一值 我该怎么做 我使用的是php..如果您使用的是php,那么现在只需使用mysql即可 最好的办法是检索字段,然后使用php获取不同的值explode()是一种很好的方法,然后可以使用array\u unique删除重复的值 或 如果您当时使用的是php,那么现在就可以仅使用mysql对数据库进行规范化 最好的办法是检索字段,然后使用php获取不同的值explode()是一种很好的方法,然后可以使用array\u

我的表中有一列,我将值存储为逗号分隔的值

现在我需要列出该字段/列中的所有唯一值

我该怎么做


我使用的是php..

如果您使用的是php,那么现在只需使用mysql即可 最好的办法是检索字段,然后使用php获取不同的值
explode()
是一种很好的方法,然后可以使用
array\u unique
删除重复的值


如果您当时使用的是php,那么现在就可以仅使用mysql对数据库进行规范化 最好的办法是检索字段,然后使用php获取不同的值
explode()
是一种很好的方法,然后可以使用
array\u unique
删除重复的值

您可以规范化数据库

在一个字段中存储多个(逗号分隔的)值不是一个好的数据库设计,您应该将这些值存储在其他表中。在这种情况下,您将能够使用GROUPBYSQL语句。 在当前情况下,您应该从表中选择所有数据,分解它,排序它,并删除重复的数据,这将花费更多的时间。

在一个字段中存储多个(逗号分隔的)值不是一个好的数据库设计,您应该将这些值存储在其他表中。在这种情况下,您将能够使用GROUPBYSQL语句。
在当前情况下,您应该从表中选择所有数据,分解()它,排序它,并删除重复的数据,这将花费更多的时间。

什么,没有人将关键字作为逗号分隔的数据存储在数据库中


不幸的是,唯一快速实现这一点的方法是编写一个php脚本来分解值,然后在数组中计算不同的值。

什么,没有人将关键字作为逗号分隔的数据存储在数据库中


不幸的是,快速实现这一点的唯一方法是编写一个php脚本来分解值,而不是在数组中计算不同的值。

如果要显示唯一的值,最好不要将数据存储为逗号分隔的值:)不管怎样,您的业务逻辑使用的是什么语言?这在php/java/中可能更容易做到。。。现在你知道为什么逗号分隔的值在DBMS中是个坏主意了。重新开始并规范化数据。我无法对旧数据进行太多更改。。因此,我考虑使用数组_unique获取唯一值,并将它们作为标记存储在单独的表中,然后直接使用当前表结构。。因此,当我需要唯一的值时,我可以直接从tags表中获取,当添加任何新的值时,我可以将它们添加到表中,还可以轻松地在单个列中列出所有标记。。这样可以吗?如果您想显示唯一的值,最好不要将数据存储为逗号分隔的值:)不管怎样,您的业务逻辑使用什么语言?这在php/java/中可能更容易做到。。。现在你知道为什么逗号分隔的值在DBMS中是个坏主意了。重新开始并规范化数据。我无法对旧数据进行太多更改。。因此,我考虑使用数组_unique获取唯一值,并将它们作为标记存储在单独的表中,然后直接使用当前表结构。。因此,当我需要唯一的值时,我可以直接从tags表中获取,当添加任何新的值时,我可以将它们添加到表中,还可以轻松地在单个列中列出所有标记。。可以吗??