Heim  >  Fragen und Antworten  >  Hauptteil

mysql group中能否使用两个count呢

PHP中文网PHP中文网2743 Tage vor717

Antworte allen(3)Ich werde antworten

  • 黄舟

    黄舟2017-04-17 15:40:08

    其实最好写明你的表结构,以下答案基于你提供的有限信息:

    select district as 行政区
    ,count(1) as 小区数 -- 我默认你每个小区时一条记录,且无重复
    , sum(if(idNB = 1 ,1 ,0)) as 高档小区数 -- 假设高档小区的idNB标记为1
    from table_name 
    group by district
    
    其实 sum(if(idNB = 1 ,1 ,0)) 也可以替换成count(idNB = 1 or null)

    Antwort
    0
  • 阿神

    阿神2017-04-17 15:40:08

    mysql不支持分析函数:

    select t1.district, 
        (select count(t2.xiaoqu) from table t2 where t2.district=t1.district) count_xiaoqu,
        (select count(t2.idNB) from table t2 where t2.district=t1.district) count_idNB
    from table t1
    

    分析函数的写法:

    select district, 
    count(xiaoqu) over (district) count_xiaoqu, 
    count(idNB) over (district) count_idNB
    from table

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:40:08

    我这边说下我的思路吧,使用MySQL将区内的高端小区和非高端小区统计出来

    select district,idNB,count(*) from xx GROUP BY district,idNB

    然后区内小区的总数再由服务端这边自己处理计算。

    Antwort
    0
  • StornierenAntwort