题目:
表A(id,name,regdate(日期类型))
表B(id,groupid)
表C(id,name)
①统计A表中每个月主儿用户数
②统计A表职工姓名相同的用户
③如果A表中有性命相同的用户,吧相同的查出
④A中有多个id相同数据,A中姓名相同的id只保存注册时间最大的书

解决方案 »

  1.   

     select distinct cout(name) from A where regdate between 本月第一天 and 本月最后一天
      

  2.   

    ①统计A表中每个月主儿用户数select convert(varchar(7),regdate,120),count(1) from a group by convert(varchar(7),regdate,120)②统计A表职工姓名相同的用户select name from a group by name having count(1) > 1③如果A表中有性命相同的用户,吧相同的查出select * from a where name in (select name from a group by name having count(1) > 1)④A中有多个id相同数据,A中姓名相同的id只保存注册时间最大的书
    --查询
    select id , name , max(regdate) from a group by id , name--删除
    delete A from a t where regdate not in (select max(regdate) from a where id = t.id and name = t.name)
      

  3.   

    1. select count(*)from dbo.Ta1 where regdate between 本月第一天 and 本月最后一天
     
    2. select count(distinct name) from dbo.Ta1 where regdate between 本月第一天 and 本月最后一天3. 
    select name 
    from dbo.Ta1
    where regdate between 本月第一天 and 本月最后一天 
    group by name
    having count(name)>1
      

  4.   

    ①统计A表中每个月注册用户数量④A中有多个id相同数据,A中姓名相同的id只保存注册时间最大的数据五楼的前辈,第二个和第三个都是正确的,但是第一个不符合要求,第四个是错误的大家努力一下,帮帮忙,这道题是最后一道面试题
      

  5.   

    select convert(varchar(7),month(regdate)) as '月份',count(*) as '数量' from a
    group by convert(varchar(7),month(regdate))lz这个试试
      

  6.   

    按年月分 组 分组的话:
    select convert(varchar(7),year(regdate)) as '年', convert(varchar(7),month(regdate)) as '月份',
    count(1) as '数量' from a
    group by convert(varchar(7),month(regdate)),convert(varchar(7),year(regdate))