使用count 和distinct(去重)关键字可以查看数据库某列是否有重复项。例如:
select count(discinct(colunmname)) from table_name;
如果上述查询统计结果大于count(colunmname),则代表这一列有重复项。
(1)sql数据查重方法扩展阅读
SQL SELECT DISTINCT 语句用法介绍:
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称
使用 DISTINCT 关键词,例如要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句:
SELECT Company FROM Orders
② SQL重复数据的筛选
你要看你有哪些数据段是相同的,就根据那些相同的数据段分类。
比如说,
A B C D
1 1 1 3
1 1 1 4
1 1 1 5
(前面的insert 我就不写了)
那就是select A,B,C,MAX(D) FROM TABLE GROUP BY A,B,C
如果是
A B C D
1 1 1 2
2 1 1 3
3 1 1 4
就是说,如果你还有一个字段是id,主键的话就是
select A,B,C,MAX(D) FROM TABLE GROUP BY B,C
③ 怎么用SQL筛选数据库重复记录
用group by语句可以筛选重复数据。
1、创建测试表、插入数据
createtabletest
(idint,
namevarchar(10));
insertintotestvalues(1,'张三')
insertintotestvalues(2,'李四')
insertintotestvalues(3,'王五')
insertintotestvalues(4,'赵六')
insertintotestvalues(1,'张三')
insertintotestvalues(2,'李四')
2、现在要筛选出重复数据,使查询的数据不重复,可用语句
select id,name from test group by id,name;
3、结果如图:
④ 用sql语句统计数据库某个字段中相同的数据有多少条
1、可通过分组和组内计数来实现,语句如下:
select a, count(*) from A Group by a
2、用Group By分组:
Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。
这里,分组字段是a,所以数据集分成了你、我、他三个组。然后用Count(*)分别按照各个组来统计各自的记录数量。
3、Count(*)函数:
Count(*) 函数返回表中的记录数。注意它和Group by连用,返回组内记录数。
’
(4)sql数据查重方法扩展阅读:
select count(*)和select count(1)的区别
一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的。
假如表没有主键(Primary key), 那么count(1)比count(*)快。
如果有主键的话,那主键作为count的条件时候count(主键)最快。
如果你的表只有一个字段的话那count(*)就是最快的。
count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计。
网络.Group by