MySQL查询从字段中删除重复值[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL查询从字段中删除重复值[重复]相关的知识,希望对你有一定的参考价值。

我遇到了与数据库表字段相关的问题,其中许多值在逗号分隔的字符串中是相同的。

考虑表名Order,其中一个字段是options

现在options用逗号分隔值和类型是varchar。

例-

options value is 10,15,20,15,25,10

现在我想在Order表上运行SQL查询,

 options value should be 10,15,20,25

如何运行SQL查询来整理options字段中的唯一值?

答案

获得查询结果后,您可以在php中进行爆炸并执行array_unique

$duplicateValues = explode(',',$sqlResult);
$duplicateValues= array_unique($duplicateValues);
另一答案
SUBSTRING_INDEX(str, delim, count)

https://www.w3resource.com/mysql/string-functions/mysql-substring_index-- function.php

INSTR (ori_str, sub_str)

https://www.w3resource.com/mysql/string-functions/mysql-instr-function.php

POSITION(substr IN str)

https://www.w3resource.com/mysql/string-functions/mysql-position-function.php

另一答案

使用此查询,您将从表中获得唯一值:

select * from Order join numbers on char_length(options) - char_length(replace(options, ',', '')) >= n - 1

以上是关于MySQL查询从字段中删除重复值[重复]的主要内容,如果未能解决你的问题,请参考以下文章