用户注册表
ID 时间 地点 用户级别
1  2001 成都 高级用户
2  2002 绵阳 普通用户
3  2001 成都 普通用户
4  2002 绵阳 高级用户
5  2001 成都 普通用户
如何在用户注册表中,分时分地查询高级用户总数、和普通用户总数。查询示例结果如下时间 地点 高级用户总数 普通用户总数
2001 成都  1000 3000
2002 成都  1300         4000
2001 绵阳   600 1700
2002 绵阳   800         1500

解决方案 »

  1.   

    行列转换啊,老问题了
    selct   时间 ,地点,
            sum(decode(用户级别,'高级用户',1,0)) 高级用户总数,
            sum(decode(用户级别,'普通用户,1,0)) 普通用户总数
     from table_a
    group by 时间 ,地点
      

  2.   

    selct   时间 ,地点,
            sum(decode(用户级别,'高级用户',1,0)) 高级用户总数,
            sum(decode(用户级别,'普通用户',1,0)) 普通用户总数
     from table_a
    group by 时间 ,地点
      

  3.   

    selct   时间 ,地点,
            sum(decode(用户级别,'高级用户',1,0)) 高级用户总数,
            sum(decode(用户级别,'普通用户',1,0)) 普通用户总数
     from 用户注册表
    group by 时间 ,地点
      

  4.   

    用case when then else end 也行了
      

  5.   

    暈倒, oracle有了decode, 為什麼還要用case when then else end ?
      

  6.   

    selct   时间 ,地点,
            sum(decode(用户级别,'高级用户',1,0)) 高级用户总数,
            sum(decode(用户级别,'普通用户',1,0)) 普通用户总数
     from table_a
    group by 时间 ,地点
      

  7.   

    selct   时间 ,地点,
            sum(decode(用户级别,'高级用户',1,0))as 高级用户总数,
            sum(decode(用户级别,'普通用户',1,0))as 普通用户总数
     from table_a
    group by 时间 ,地点