Sunset、筱虎 2022-07-29 18:30 采纳率: 70%
浏览 60

mysql字段去重,内容颠倒重复保留一个即可

问题遇到的现象和发生背景

数据库去重分组查询

问题相关代码,请勿粘贴截图

直接放执行sql吧

create table tt
(
    name varchar(255) null
);

INSERT INTO java_se.tt (name) VALUES ('a');
INSERT INTO java_se.tt (name) VALUES ('b');
INSERT INTO java_se.tt (name) VALUES ('a+b');
INSERT INTO java_se.tt (name) VALUES ('b+a');
INSERT INTO java_se.tt (name) VALUES ('c');
INSERT INTO java_se.tt (name) VALUES ('a+c+b');
INSERT INTO java_se.tt (name) VALUES ('a+b+c');
INSERT INTO java_se.tt (name) VALUES ('a');
运行结果及报错内容

进行分组

img


这里A+B 和 B+A性质相同只显示一种即可

我的解答思路和尝试过的方法

尝试去+号
select name,replace(t.name,'+','') na from tt as t

img


然后打算字段内先字母排序 然后去重 但是不可行

我想要达到的结果

排除字母颠倒得重复

  • 写回答

3条回答 默认 最新

  • 快乐小土狗 2022-07-29 19:48
    关注

    不行,对于计算机来说,ab和ba就是两个东西。你全靠sql语句应该很难实现。
    你可以选择其他编程语言,读取数据库,将这个字段的值取出来进行处理,在保存进mysql一个新字段中,在根据新字段去重

    评论

报告相同问题?

问题事件

  • 创建了问题 7月29日