请写出下面 sql ,怎么写,求高手

cy727893310 2013-05-31 10:43:47
表A(id,name,regedate)
表B(id,groupid)
表C(id,name)
求:
1 求出A表中每个月的注册用户,regedate格式是yyyy/mm/dd
2 求出A表中所有姓名相同的用户
3 A 表中有相同名字的用户,把相同的选出来放入C表中
4 A 表中姓名相同的id,保留注册最大时间的用户

写出sql,并说出是哪种数据库的sql
...全文
267 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
WSZHAO_SELECT 2014-03-24
2 求出A表中所有姓名相同的用户

 select name from A group by name having count(name)>1;
3 A 表中有相同名字的用户,把相同的选出来放入C表中

insert into C(id,name) select id,name from A a where a.NAME in
 (select name from A group by name having count(name)>1);

  • 打赏
  • 举报
回复
vanjayhsu 2013-05-31
1 求出A表中每个月的注册用户,regedate格式是yyyy/mm/dd select * from a where to_char(regedate,'yyyymm')='201305' 2 求出A表中所有姓名相同的用户 select * from a where name in (select name from a group by name having count(1)>1) 3 A 表中有相同名字的用户,把相同的选出来放入C表中 insert into c select a.id,a.name from a where name in (select name from a group by name having count(1)>1) 4 A 表中姓名相同的id,保留注册最大时间的用户 delete from a where a.id in (select id from c) and a.regedate not in (select max(regedate) from a group by id)
  • 打赏
  • 举报
回复
建表 差数据 都是select就出来了
  • 打赏
  • 举报
回复
hh7yx 2013-05-31
都是最基本sql,看有没有人想写
  • 打赏
  • 举报
回复
发帖
Oracle

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2013-05-31 10:43
社区公告
暂无公告