小码问答,有问必答!

2019-06-12 19:13

写出SQL语句

2019-06-12 19:13 回答了这个问题

现在有表:

A(id ,name,regdate) B(id,groupid) C(id,name2) 

写出下面的SQL语句 

1)统计A表中每个月注册用户数

2)统计A表中有姓名相同的用户数

3)如果表A中有姓名相同的用户,把相同的查出,写入表C中 

4)A中ID有多个相同的数据,A中姓名相同的ID只保留注册时间最大的数据


1)统计A表中每个月注册用户数

select month(regdate),count(*) from a group by month(regdate)

2)统计A表中有姓名相同的用户数

不知道理解的这个相同用户数对不对,按照只要姓名相同都统计算。

select sum(namecount) 
from (
select count(*) as namecount from a group by name having count(*)>1
)
as t

3)如果表A中有姓名相同的用户,把相同的查出,写入表C中 

insert into c (name2) select name   from a group by name having count(*)>1

4)A中ID有多个相同的数据,A中姓名相同的ID只保留注册时间最大的数据

id相同?应该是A中有多个姓名相同的数据,删除重复的,保留注册时间最大的一条。



0条评论

我要评论