Sql 查找和显示重复项
我有一张桌子。我想在此表中搜索重复的标题。Sql 查找和显示重复项,sql,mysql,database,Sql,Mysql,Database,我有一张桌子。我想在此表中搜索重复的标题。 假设我的数据如下: 第1,第2,第3,第1,第4,第2,第9 我希望我的查询搜索此表并仅输出重复项。因此,输出将如下所示: 标题1 标题1 标题2 标题2 我知道如何找到副本,但它只显示其中一个副本,而不是两个副本 SELECT id, title, artist_id FROM sm019_songs GROUP BY title HAVING count(title) > 1 有什么想法吗?这里有一种使用子查询的方法。首先将子查询加载到临时
假设我的数据如下: 第1,第2,第3,第1,第4,第2,第9 我希望我的查询搜索此表并仅输出重复项。因此,输出将如下所示:
标题1
标题1
标题2
标题2 我知道如何找到副本,但它只显示其中一个副本,而不是两个副本
SELECT id, title, artist_id FROM sm019_songs GROUP BY title HAVING count(title) > 1
有什么想法吗?这里有一种使用子查询的方法。首先将子查询加载到临时表中可能是有意义的。(这将在SQL server中工作,但不确定确切的MySql语法是什么。)
这是我在mysql中想到的:
创建临时表u(title varchar(250))
类型=堆
插入u
按计数(标题)>1的标题从t组中选择标题
从u中选择t.title,其中u.title=t.title
我只想将表本身连接起来:
SELECT S1.*, S2.*
FROM songs S1, songs S2
WHERE S1.title = S2.title
AND S1.id != S2.id
-----N
SELECT S1.*, S2.*
FROM songs S1, songs S2
WHERE S1.title = S2.title
AND S1.id != S2.id