首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQL读取重复行

使用SQL读取重复行
EN

Stack Overflow用户
提问于 2013-05-20 15:15:14
回答 3查看 1.2K关注 0票数 0

我正在尝试开发一个查询来获取具有重复值的行,我需要获取两个记录,例如,复制记录和真实记录

表格

代码语言:javascript
复制
id  keyword
-------------------
1   Apple
2   Orange
3   Apple
4   Grape
5   Banana
6   Grape

查询结果应为:

代码语言:javascript
复制
id  keyword
-------------------
1   Apple
3   Apple
4   Grape
6   Grape

请任何人帮帮我!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-20 15:20:52

查询:

代码语言:javascript
复制
select * from 
table where keyword in
(select keyword 
from table
group by keyword 
having count(keyword)>1)
票数 2
EN

Stack Overflow用户

发布于 2013-05-20 15:18:25

这可能会有所帮助:

代码语言:javascript
复制
SELECT t1.id, t1.keyword                                     
FROM table t1              
INNER JOIN table t2                   
ON t1.id != t2.id           
AND t1.keyword=t2.keyword

在SQL Fiddle http://sqlfiddle.com/#!2/44dbb/1/0上进行了测试

票数 0
EN

Stack Overflow用户

发布于 2013-05-20 15:24:01

一种方法是:

代码语言:javascript
复制
SELECT * 
FROM `table` t1
WHERE 
    (SELECT COUNT(*) FROM `table` t2 WHERE t2.keyword = t1.keyword) > 1

还有另一种方式:

代码语言:javascript
复制
SELECT t1.*
FROM `table` t1
JOIN `table` t2 ON t1.keyword = t2.keyword
WHERE t1.id != t2.id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16644445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档