gpt4 book ai didi

MySQL 跨多列搜索重复项

转载 作者:行者123 更新时间:2023-11-29 13:47:02 25 4
gpt4 key购买 nike

道歉:我的意思是重复项必须位于同一列中。

我有以下代码:

SELECT m.* FROM ( 
SELECT text
FROM mytable
GROUP BY text
HAVING COUNT(*) > 1 ) q
JOIN mytable m
ON m.text = q.text

这使我能够在 text 列上搜索重复项并且工作正常。但是,我有一张 table :

q1a, q2a, q3a, q4a, q5a

我想要的是查询检查所有列是否有重复项 - 如果可能的话,有人能给我指出吗?

谢谢

H.

最佳答案

这可能是您所需要的,它将为您提供重复的文本,以及在哪些行和列上找到匹配项;

SELECT GROUP_CONCAT(id) ids,q1a text,1 col 
FROM myTable GROUP BY text HAVING COUNT(*)>1
UNION
SELECT GROUP_CONCAT(id),q2a text,2
FROM myTable GROUP BY text HAVING COUNT(*)>1
UNION
SELECT GROUP_CONCAT(id),q3a text,3
FROM myTable GROUP BY text HAVING COUNT(*)>1
UNION
SELECT GROUP_CONCAT(id),q4a text,4
FROM myTable GROUP BY text HAVING COUNT(*)>1
UNION
SELECT GROUP_CONCAT(id),q5a text,5
FROM myTable GROUP BY text HAVING COUNT(*)>1

An SQLfiddle to test with .

关于MySQL 跨多列搜索重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17249100/

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