用sql语句统计数据库某个字段中相同的数据有多少条?

有一种表A 你有字段a,b
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的统计。

参考资料:

百度百科.Group by

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-10

用分组,组内计数就可以了,意思就是根据字段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

本回答被网友采纳
第2个回答  2014-10-21
用分组,组内计数就可以了,意思就是根据字段a的取值进行分组,相同的为一组,在用count进行组内计数
select a,count(*)
from A
group by a本回答被提问者和网友采纳
第3个回答  2020-05-09
SELECT b,count(*) FROM a s JOIN B sf ON a.A_id = sf.B_id GROUP BY A_id;
第4个回答  2014-10-21
Select a, count(a) from A
Group By a
相似回答