现在有表:
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条评论
我要评论