我遇到了与数据库表字段相关的问题,其中许多值在逗号分隔的字符串中是相同的。
考虑表名options
,其中一个字段为options
。
现在options value is 10,15,20,15,25,10
以逗号分隔的值和类型为varchar。
实施例 -
options value should be 10,15,20,25
现在我想在Order表上运行SQL查询,
options
如何运行SQL查询以在{{1}}字段中整理唯一值?
答案 0 :(得分:0)
获得查询结果后,您可以在PHP中爆炸并执行array_unique
$duplicateValues = explode(',',$sqlResult);
$duplicateValues= array_unique($duplicateValues);
答案 1 :(得分:0)
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
答案 2 :(得分:-1)
使用此查询,您将从表中获得唯一值:
select * from Order join numbers on char_length(options) - char_length(replace(options, ',', '')) >= n - 1