我有一张桌子。我想在这张表格中搜索重复的标题 让我们说我的数据如下:
title1,title2,title3,title1,title4,title2,title9
我希望我的查询能够搜索此表并仅输出重复项。所以输出看起来像:
TITLE1
TITLE1
标题2
TITLE2
我知道如何找到重复项,但它只显示了其中一个副本,而不是两个。
SELECT id, title, artist_id FROM sm019_songs GROUP BY title HAVING count(title) > 1
有什么想法吗?
答案 0 :(得分:2)
这是使用子查询执行此操作的一种方法。将子查询首先加载到临时表中可能是有意义的。 (这可以在SQL服务器中运行,不确定MySql的确切语法是什么。)
select id, title, artist_id
from sm019_songs
where title in
(
SELECT title
FROM sm019_songs
GROUP BY title
HAVING count(title) > 1
)
答案 1 :(得分:0)
这是我在mysql中提出的:
CREATE TEMPORARY TABLE u (title varchar(250))
TYPE=HEAP;
INSERT INTO u
SELECT title FROM t group by title having count(title) > 1;
SELECT t.title FROM u,t where u.title = t.title
答案 2 :(得分:0)
我只是加入桌子:
SELECT S1.*, S2.*
FROM songs S1, songs S2
WHERE S1.title = S2.title
AND S1.id != S2.id
-----Ñ