数据库中有类似这么样的一张表
A(ID) B(手机IMEI)   C(手机IP)   D(手机软件)
1     L             1             Z
2     L             2             X
3                   1             C
4     M             5             Z
5     M             5             H
6                   5             I
....
大概9万多条记录,里面的值我用字母和数字简单的代替了。上表中3行和6行分别应该是L和M但是没有存进去,我想通过这个表查到此表中到底有多少手机,每个手机都下载了哪些软件。

解决方案 »

  1.   

    有多少个手机
    select count(distinct B) from tb;
    每个手机下载了多少个软件
    select B,count(*)
    from tb
    group by B
      

  2.   


    select count(distinct B) from tb;这句得到的手机数不准确啊,没有数据的记录算一个手机?
      

  3.   

    如果没有记录的手机不算一个 那么select sum(case when B is null then 1 else 0 end) + count(distinct B)-1
    from B
      

  4.   

    复制到EXCEL中,
    然后在B列使用空白填充。 之后再统计。如果熟悉EXCEL,也就5分钟的事儿。
      

  5.   

    select B,count(1) ,GROUP_CONCAT(D) from talbe_name group by B