有表createRole,字段有TIME,UID,RID,CID。login字段有TIME,UID,RID,CID。需要统计某几天,某个CID下不同RID的数量。前者统计为创角数,后者为活跃数。最终返回某天,某CID的创角数和活跃数。请问有什么好的方法推荐?

解决方案 »

  1.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  2.   

    create table create(
    time datetime,
    cid int,
    zid int,
    uid int,
    rid int
    );
    insert into create ('2017-7-10 13:00:00', 1000, 1, 1, 1);
    insert into create ('2017-7-10 14:00:00', 1000, 2, 1, 2);
    insert into create ('2017-7-10 13:00:00', 1000, 1, 2, 3);
    insert into create ('2017-7-11 13:00:00', 1000, 1, 3, 4);create table login(
    time datetime,
    cid int,
    zid int,
    uid int,
    rid int
    );
    insert into create ('2017-7-10 20:00:00', 1000, 1, 1, 1);
    insert into create ('2017-7-10 20:10:00', 1000, 1, 1, 1);
    insert into create ('2017-7-10 20:20:00', 1000, 2, 1, 2);
    insert into create ('2017-7-11 13:00:00', 1000, 1, 1, 1);
    insert into create ('2017-7-11 13:00:00', 1000, 1, 2, 3);想要这样的结果:
    time        cid     zid    create   active 
    2017-7-10   1000     1      2         1
    2017-7-10   1000     2      1         1
    2017-7-11   1000     1      1         1
    2017-7-11   1000     2      0         1