现在有个表:A(id ,name,regdate)
B(id,groupid)
C(id,name2)
写出下面的SQL语句
1.统计A表中每个月注册用户数
2.统计A表中有姓名相同的用户数
3.如果表A中有姓名相同的用户,把相同的查出,写入表C中
4.A中ID有多个相同的数据,A中姓名相同的ID只保留注册时间最大的数据
大家帮帮忙,写一下吧
B(id,groupid)
C(id,name2)
写出下面的SQL语句
1.统计A表中每个月注册用户数
2.统计A表中有姓名相同的用户数
3.如果表A中有姓名相同的用户,把相同的查出,写入表C中
4.A中ID有多个相同的数据,A中姓名相同的ID只保留注册时间最大的数据
大家帮帮忙,写一下吧
解决方案 »
- 求一本书的示例代码?
- 关于oracle 9i连sql server2000的问题
- 为什么我每登陆一次我们的管理软件primaver时oracle会自动生成一个DBF的数据文件---我想不让这个DBF生成,因为磁盘空间问题
- 错误ORA-01026,赋值列表中存在多个大于>4000的缓冲区???
- 请问,那里有Oracle9.02下载
- 请教各位大虾这个查询语句怎么写?
- SQL语句如何备份及还原数据库的一张表(急)
- 这个SQL语句执行的结果很奇怪,请大家看看为什么。
- 关于Oracle8i后台性能优化的若干问题!(精华问题,欢迎讨论)
- 关于sql计划基线的问题
- ORACLE远程服务器的问题!紧急求救!(在线等待!)
- 将文本文件导入oracle的问题
select count(*),to_char(regdate,'yyyymm') from A group by to_char(regdate,'yyyymm');
2
select count(*) from (select name from A group by name having count(*) >1);
3
insert into C(name2) select name from A group by name having count(*) >1;
4
delete from A E where e.regdate < (select max(regdate) from a X where E.id = X.id);------
redate(格式为2007/02/12)日期自己转化一下
SQL> select to_date('2007/02/12','yyyy/mm/dd') from dual;TO_DATE('2007/02/12','YYYY/MM/
------------------------------
2007-2-12
select count(*) as 姓名相同用户总数 from (select name from A group by name having count(*)>1) as a
select name,count(id) from a
group by name
ocursor i_ocursor is
select id,name from A group by nane having count(*)>1;
FETCH i_ocursor INTO
t_id,
t_name;
WHILE i_ocursor%FOUND LOOP
insert into c values ("t_id","t_name");
FETCH i_ocursor INTO
t_id,
t_name;
END LOOP;
CLOSE cur_tel;