首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

显示表中所有重复的值及其ID (SQL)

要在SQL中显示表中所有重复的值及其ID,你可以使用以下查询方法。假设我们有一个名为my_table的表,其中有两个字段:id(主键)和value(可能包含重复值的字段)。

查询方法

你可以使用GROUP BYHAVING子句来找出重复的值,然后通过连接原始表来获取这些值的ID。

代码语言:txt
复制
SELECT t1.id, t1.value
FROM my_table t1
JOIN (
    SELECT value
    FROM my_table
    GROUP BY value
    HAVING COUNT(*) > 1
) t2 ON t1.value = t2.value
ORDER BY t1.value;

解释

  1. 子查询
  2. 子查询
  3. 这个子查询会返回所有出现次数大于1的值。
  4. 主查询
  5. 主查询
  6. 主查询通过连接原始表my_table和子查询的结果,获取这些重复值的ID,并按值排序。

示例

假设my_table包含以下数据:

| id | value | |----|-------| | 1 | A | | 2 | B | | 3 | A | | 4 | C | | 5 | B |

运行上述查询后,结果将是:

| id | value | |----|-------| | 1 | A | | 3 | A | | 2 | B | | 5 | B |

参考链接

通过这种方法,你可以有效地找出表中所有重复的值及其对应的ID。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL:删除重复记录

--查看新数据 select from # --清空旧表 truncate table test --将新数据插入到旧表 insert test select from # --删除新...drop table # --查看结果 select from test 查找多余重复记录,重复记录是根据单个字段(peopleId)来判断  select  from...rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)  3、查找多余重复记录...and rowid not in (select min(rowid) from vitae group by peopleId,seq having count()>1)  5、查找多余重复记录...“name”,而且不同记录之间“name”有可能会相同,  现在就是需要查询出在该各记录之间,“name”存在重复项;  Select Name,Count() From A Group

4.7K10
  • 使用tp框架和SQL语句查询数据某字段包含某

    有时我们需要查询某个字段是否包含某时,通常用like进行模糊查询,但对于一些要求比较准确查询时(例如:微信公众号关键字回复匹配查询)就需要用到MySQL find_in_set()函数; 以下是用...find_in_set()函数写sq查询l语句示例: $keyword = '你好'; $sql = "select * from table_name where find_in_set('"....$keyword"',msg_keyword) and msg_active = 1"; 以下是在tp框架中使用find_in_set()函数查询示例: $keyword = '你好'; $where...数据库关键字要以英文“,”分隔; 2.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。...以上这篇使用tp框架和SQL语句查询数据某字段包含某就是小编分享给大家全部内容了,希望能给大家一个参考。

    7.4K31

    数据分析面试手册《SQL篇》

    数据分析面试手册《SQL篇》 前言:在当前数据分析岗位,多数人在做着SQL-Boy\SQL-Girl工作,在数据分析面试SQL是必不可少一环,对于SQL不仅有常见函数用法考察,更多时候面试官喜欢出一些编程类题目...Q2 : 上升温度 考频: 难度: 题目 给定一个如下定义数据,编写一个SQL查询,来查找与之前(昨天)日期相比温度更高所有日期id 。...Q3 : 删除重复电子邮箱 考频: 难度: 题目 给定一个如下定义数据,编写一个SQL删除语句来删除所有重复电子邮件,只保留一个id最小唯一电子邮件。...from person group by email) as t ) 解析 本题是一道排序类题目,我们要进行重复删除并且保留ID最小那一条数据,此时我们只需要找到每一个最小...Q5 : 患某种疾病患者 考频: 难度: 题目 给定如下数据,写一条 SQL 语句,查询患有 I 类糖尿病患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码

    1.5K31

    mysql数据库select语句用法_mysql数据库select查询语句简单用法「建议收藏」

    id=1″,都可以得到正确结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时 2、批量查询数据可以用in来实现$sql=”select * from article where id in...group by 是把相同结果编为一组exam:$sql=”select city ,count(*) from customer group by city”;这句话意思就是从customer表里列出所有重复城市...,及其数量(有点类似distinct)group by 经常与AVG(),MIN(),MAX(),SUM(),COUNT()一起使用 6、使用havinghaving 允许有条件地聚合数据为组$sql=...,一般按这个顺序排列) 8、使用distinctdistinct是去掉重复$sql=”select distinct city from customer order by id desc”;这句话意思就是从...customer查询所有的不重复city 9、使用limit如果要显示某条记录之后所有记录$sql=”select * from article limit 100,-1″; 10、多表查询$sql

    8.7K20

    SQL命令大全,每条命令均有示例,小白看了也可成神!

    SELECT SELECT 可能是最常用 SQL 语句,每次使用 SQL 查询数据时,几乎都会用到它。 例如,在下面的代码,从customers查询name字段。...只返回不同数据,意思就是如果有重复记录,只会返回重复记录一条记录。...customers WHERE name LIKE ‘%Bob%’; LIKE 其他运算符: %x — 将选择所有以 x 开头 %x% — 将选择包含 x 所有 x% — 将选择所有以 x...结尾 x%y — 将选择所有以 x 开头并以 y 结尾 _x% — 将选择所有具有 x 作为第二个字符 x_%— 将选择所有以 x 开头且长度至少为两个字符,您可以添加额外 _ 字符来扩展长度要求...不言而喻,DROP 命令只应在绝对必要情况下使用。 DROP DATABASE DROP DATABASE 删除整个数据库,包括其所有、索引等以及其所有数据。 使用该命令要极其小心哦!

    4.1K62

    Leetcode-sql-seven

    Leetcode-sql-ten 本文中主要是介绍LeetCode关于SQL练习题,从易到难,循序渐进。文中会介绍题目和尽可能多提供解答方案。...注意点 通过好友申请不一定都在friend_request。...统计总被通过申请数(不管是否在),将它除以申请总数,得到通过率 一个好友申请发送者可能会给接受着发送好几条申请,也有可能一条好友申请会通过几次:重复好友申请只统计一次 如果没有好友申请,通过率为...) as B), -- 总计发送总数 0 ), 2) as accept_rate; 602-好友申请2-谁有最多好友 题目 request_accepted 存储了所有好友申请通过数据记录...通过上面的表格可以观察得到:3号用户有3个好友,即1,2,4所得到结果 注意 只有一位用户好友数量最多,即结果只有一个用户 每次好友请求只会接受一次,不会出现重复 答案 通过union all将字段

    44320

    数据库面试题汇总

    右连接A INNER JOIN B,在A也有,在B也有的数据才能查询出来。 3.运行空不同 左连接是已左边数据为基准,若左有数据右没有数据,则显示数据右数据显示为空。...右联接是左向外联接反向联接。将返回右所有行。如果右某行在左没有匹配行,则将为左返回空。 2、数据库优化几种方式 第一个方法:选取最适用字段属性。...3、写出一条SQL语句:取出Student第31到第40条数据(以自动增长ID作为主键,主键可能不连续) Select Top(10) * from Student where id not in...常见数据类型:网状模型、层次模型、关系模型 SQL Server是一种关系型数据库; 保证数据库完整性:实体完整性、区域完整性、参照完整性 6、SQL Server数据库基本约束及其作用?...Min():最小 Max():最大 Sum():总和 Avg():平均值 Count():总数 distinct():去重 Having():重复记录 9、什么是SQL注入?应如何防止?

    1.2K20

    查询介绍_连接

    -- 所谓笛卡尔集 就是A每一条记录关联B得每条记录 1.查询每一个员工姓名,及关联部门名称〔隐式内连接实现) select * from tb_emp,tb_dept where tb_emp.dept_id...=tb_dept.id; -- 如果名字很长 可以为起别名 select * from tb_emp e, tb_dept d where e.dept_id=d.id; -- 显示连接:...(2)查询所有员工 emp及其领导名字emp ,如果员工没有领导,也需要查询出来 -- 1.查询员工及其所属领导名字。你要查询结果再一张,但是还不能使用单查询得到结果。...select a.name,b.name from tb_emp a join tb_emp b on a.managerid=b.id; -- 2.查询所有员工 emp及其领导名字emp ,如果员工没有领导...sql union sql —>把这两条sql查询结果组合到一起。如果有重复记录则合并成一条。 sql union all sql—>把这两条sql查询结果组合到一起。如果有重复记录,不合并。

    3K20

    深入解析:Oracle由11g而始数据库一致读行为改变

    就不做一致读”行为在Oracle 11g及其后续版本在默认情况下就已经被开启了,这也许有些激进。...我们现在去Session 2EMPempno=7369记录所对应ename列恢复成原先“SMITH”并且drop掉EMP上主键PK_EMP: Session 2: SQL> update...我们现在去Session 2EMPempno=7369记录所对应ename列恢复成原先“SMITH”并且在列empno上创建一个名为idx_emp_empno非唯一性索引: Session...我们现在去Session 2EMPempno=7369记录所对应ename列恢复成原先“SMITH”并且在列empno上创建一个名为idx_uk_emp_empno唯一性索引: Session...我们现在去Session 2EMPempno=7369记录所对应ename列恢复成原先“SMITH”并且将隐含参数“_row_cr”改为FALSE: Session 2: ……这里省略将

    878100

    【数据库】SQL零基础入门学习

    MS SQL Server、Oracle、Sybase 以及其他数据库系统。...B:EXCEPT 运算符 EXCEPT运算符通过包括所有在 TABLE1 但不在 TABLE2 行并消除所有重复行而派生出一个结果。...select * from table1 where a [not] in (‘1’,’2’,’4’,’6’) 10、说明:两张关联,删除主表已经在副没有的信息 delete from...10 * form table1 where 范围 15、说明:选择在每一组b相同数据对应a最大记录所有信息(类似这样用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等....TableA但不在 TableB和TableC行并消除所有重复行而派生出一个结果 (select a from tableA ) except (select a from tableB) except

    11810
    领券