用sql语句统计数据库某个字段中相同的数据有多少条?
1、可通过分组和组内计数来实现,语句如下:
select a, count(*) from A Group by a
2、用Group By分组:
Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。
这里,分组字段是a,所以数据集分成了你、我、他三个组。然后用Count(*)分别按照各个组来统计各自的记录数量。
3、Count(*)函数:
Count(*) 函数返回表中的记录数。注意它和Group by连用,返回组内记录数。
’
扩展资料:
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
怎么利用SQL语句查询数据库中具体某个字段的重复行
可用group by……having来实现。
可做如下测试:
1、创建表插入数据:
create table test(id int,name varchar(10))insert into test values (1,'张三')insert into test values (2,'李四')insert into test values (3,'张三')insert into test values (4,'王五')insert into test values (5,'赵六')其中name是张三的有两行,也就是重复行。
2、执行sql语句如下:
select * from test where name in (select name from test group by name having COUNT(*)>1)结果如图: