有一个mysql创建的表doc_order,表有两个字段a和b,都是text类型,表没有主键。字段a和b的值都有重复值,但是表中没有重复的记录,现在想统计以下信息:
(1)针对字段a的每一个取值,相应的记录的个数?
(2)针对字段a的每一个取值,相应的记录个数小于3个的a的取值有多少个?
(3)针对字段b的每一个取值,相应的记录的个数?
(4)针对字段a的每一个取值,相应的记录个数小于3个的b的取值有多少个?
(1)针对字段a的每一个取值,相应的记录的个数?
(2)针对字段a的每一个取值,相应的记录个数小于3个的a的取值有多少个?
(3)针对字段b的每一个取值,相应的记录的个数?
(4)针对字段a的每一个取值,相应的记录个数小于3个的b的取值有多少个?
select a,count(*) from doc_order group by a
2
select count(*) from (
select a from doc_order group by a having count(*)<=3) d
3
select b,count(*) from doc_order group by b
4
select count(*) from (
select b from doc_order group by b having count(*)<=3) d
(1)针对字段a的每一个取值,相应的记录的个数?
select a,count(*) from doc_order group by a
(2)针对字段a的每一个取值,相应的记录个数小于3个的a的取值有多少个?
select count(*) from (
select a from doc_order group by a having count(*)<=3) d
(3)针对字段b的每一个取值,相应的记录的个数?
select b,count(*) from doc_order group by b
(4)针对字段a的每一个取值,相应的记录个数小于3个的b的取值有多少个?
select count(*) from (
select b from doc_order group by b having count(*)<=3) d
(1)针对字段a的每一个取值,相应的记录的个数?
select count(distinct a) from doc_order
(2)针对字段a的每一个取值,相应的记录个数小于3个的a的取值有多少个?
select count(*) from (select a n from doc_order group by a having count(*)<3) tb(3)针对字段b的每一个取值,相应的记录的个数?
select count(distinct b) from doc_order
(4)针对字段a的每一个取值,相应的记录个数小于3个的b的取值有多少个?select count(*) from doc_order where a in (select a n from doc_order group by a having count(*)<3)
也感谢其他二位的热情解回答!