gpt4 book ai didi

没有重复的mysql concat_ws

转载 作者:可可西里 更新时间:2023-11-01 08:53:13 26 4
gpt4 key购买 nike

我试图将几个字段连接成一个字段,但只在结果字符串中保留唯一值。

例子:

title_orig | title_fr   | title_de                | title_it
---------------------------------------------------------------------
KANDAHAR | KANDAHAR | REISE NACH KANDAHAR | VIAGGO A KANDAHAR
SCREAM 2 | SCREAM 2 | SCREAM 2 | SCREAM 2

使用 CONCAT_WS(', ', title_orig, title_fr, title_de, title_it) AS titles 我会得到

titles
------------------------------------------------------------
KANDAHAR, KANDAHAR, REISE NACH KANDAHAR, VIAGGO A KANDAHAR
SCREAM 2, SCREAM 2, SCREAM 2, SCREAM 2

但是我想得到

titles
------------------------------------------------
KANDAHAR, REISE NACH KANDAHAR, VIAGGO A KANDAHAR
SCREAM 2

在 PostgreSQL 中,我使用了一个 plperl 存储过程 (%seen=(); return join(", ", grep {$_ && !$seen{$_}++} @_ ).

我怎样才能去掉 MySQL 中的重复项?

最佳答案

需要一些工作:

SELECT 
CONCAT(
title_orig,
IF(title_fr=title_orig,'',CONCAT(', ',title_fr)),
IF(title_de=title_orig OR title_de=title_fr,'',CONCAT(', ',title_de)),
IF(title_it=title_orig OR title_it=title_fr OR title_it=title_de,'',CONCAT(', ',title_it))
) AS title_concat
FROM
...

关于没有重复的mysql concat_ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9485901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com