用sql语句统计数据库某个字段中相同的数据有多少条?
a中的数据有
你,我,他,我,你,你,你....
b中的数据都不同 随便
怎么用sql语句统计字段a中 都多少条数据为"我 "的数据,多少条为"你"的数据
如:
我 10
你 20
他 15
用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的统计。
参考资料:
用分组,组内计数就可以了,意思就是根据字段a的取值进行分组,相同的为一组,在用count进行组内计数。
select a,count(*)
from A
group by a
扩展资料:
SQL统计重复数据
1、生成表
CREATE TABLE TEST1 (
COL1 CHAR(2),
COL2 INT
)
GO
2、插入数据
INSERT INTO TEST1 VALUES('AA', 1000);
INSERT INTO TEST1 VALUES('AA', 2000);
INSERT INTO TEST1 VALUES('AA', 3000);
INSERT INTO TEST1 VALUES('BB', 1100);
INSERT INTO TEST1 VALUES('BB', 1200);
INSERT INTO TEST1 VALUES('CC', 1300);
3、统计重复数据(找出有重复的值)
SELECT COL1, COUNT(COL1) 重复数量
FROM TEST1
GROUP BY COL1
HAVING COUNT(COL1) > 1
ORDER BY COL1;
4、查询结果
COL1 重复数量
AA 3
BB 2
select a,count(*)
from A
group by a
Group By a