SQL语言查询出表中的重复行
来源:互联网 发布:淘宝创意收货人昵称 编辑:程序博客网 时间:2024/06/04 18:24
请教高手如何用SQL语言查询出表中的重复行?我所查的不是关键字数据,是此表中其它一个字段的数据有重复,需要查出。多谢!
如果光选择重复行的话
可以这样
select distinct 有重复内容的字段名 from 表名 group by 有重复内容的字段名 having count(有重复内容的字段名)>1
这样只是选出有重复的记录的字段
如果要全部取出来的话
用这样的语句
select * from 表名 where 有重复内容的字段名 in (select distinct 有重复内容的字段名 from 表名 group by 有重复内容的字段名 having count(有重复内容的字段名)>1 )
即可
例如:
create table users
(
fseq number(8),
user_name varchar2(20),
address varchar2(40),
fpassword varchar2(12)
)
alter table users
add(
primary key(fseq)
)
select t.*,t.rowid from users t
select distinct 有重复内容的字段名 from 表名 group by 有重复内容的字段名 having count(有重复内容的字段名)>1
select user_name from users where user_name in
(select distinct user_name from users group by user_name having count(user_name)>1)
select I.* from users I where exists
(select distinct user_name,fpassword from users
where User_Name = I.User_Name and fpassword = I.Fpassword group by user_name having count(*)>1 ))
创建临时表查询
with tbl as(
select I.User_Name,i.address,i.fpassword from users I where exists
(select distinct user_name,fpassword from users
where User_Name = I.User_Name and fpassword = I.Fpassword group by user_name having count(*)>1 )
) select distinct * from tbl b
1 lizhitao dgfd 123 AAAHZjAABAAAMYyAAA
2 lizhitao dgfd 123 AAAHZjAABAAAMYyAAB
3 fd dfd323 AAAHZjAABAAAMYyAAC
4 fdf fd5354AAAHZjAABAAAMYyAAD
5 dd dsfd23AAAHZjAABAAAMYyAAE
6 dd sfd23AAAHZjAABAAAMYyAAF
7 lizhitao gh 755 AAAHZjAABAAAMYyAAG
如果光选择重复行的话
可以这样
select distinct 有重复内容的字段名 from 表名 group by 有重复内容的字段名 having count(有重复内容的字段名)>1
这样只是选出有重复的记录的字段
如果要全部取出来的话
用这样的语句
select * from 表名 where 有重复内容的字段名 in (select distinct 有重复内容的字段名 from 表名 group by 有重复内容的字段名 having count(有重复内容的字段名)>1 )
即可
例如:
create table users
(
fseq number(8),
user_name varchar2(20),
address varchar2(40),
fpassword varchar2(12)
)
alter table users
add(
primary key(fseq)
)
select t.*,t.rowid from users t
select distinct 有重复内容的字段名 from 表名 group by 有重复内容的字段名 having count(有重复内容的字段名)>1
select user_name from users where user_name in
(select distinct user_name from users group by user_name having count(user_name)>1)
select I.* from users I where exists
(select distinct user_name,fpassword from users
where User_Name = I.User_Name and fpassword = I.Fpassword group by user_name having count(*)>1 ))
创建临时表查询
with tbl as(
select I.User_Name,i.address,i.fpassword from users I where exists
(select distinct user_name,fpassword from users
where User_Name = I.User_Name and fpassword = I.Fpassword group by user_name having count(*)>1 )
) select distinct * from tbl b
1 lizhitao dgfd 123 AAAHZjAABAAAMYyAAA
2 lizhitao dgfd 123 AAAHZjAABAAAMYyAAB
3 fd dfd323 AAAHZjAABAAAMYyAAC
4 fdf fd5354AAAHZjAABAAAMYyAAD
5 dd dsfd23AAAHZjAABAAAMYyAAE
6 dd sfd23AAAHZjAABAAAMYyAAF
7 lizhitao gh 755 AAAHZjAABAAAMYyAAG
- SQL语言查询出表中的重复行
- 用SQL语言查询出表中的重复行以及创建临时表查询
- 【SQL】查询重复人名的次数并列出
- SQL SQLite 筛选(查询)出 重复数据
- sql查询出一张表里重复的字段
- 如何用sql查询出一个表中某列中重复次数最多的值与重复次数
- 查询表中的重复记录
- 删除SQL Server表中的重复行
- 删除 SQL Server 表中的重复行
- 查询对于某个字段有重复的只查询出一条的sql
- sql去出重复数据
- ORACLE查询出表中的字段列表
- Cypher查询语言--Neo4j中的SQL
- 数据库SQL语言中的连接查询(一)
- Cypher查询语言--Neo4j中的SQL
- Cypher查询语言--Neo4j中的SQL
- sql 查询表中重复的记录
- sql查询表中字段不重复
- oracle的sql命令积累
- 【color.xml】颜色大全color.xml
- Install NVIDIA GeForce driver in Ubuntu 13.04 / 12.10 / 12.04 using PPA
- C/S B/S SOA 三种架构
- emulator-arm.exe已停止工作
- SQL语言查询出表中的重复行
- 【EditText焦点】默认EditText无焦点
- 分页和分段的区别
- 什么是GCF论坛
- insert语句不打印日志信息
- 动态规划专项intermediate:LA 4490
- java中输出转义字符总结
- CCBezierTo和CCBezierBy的区别
- android:descendantFocusability用法简析