mysql group中能否使用兩個count呢
問題描述
問題解答
回答1:其實最好寫明你的表結(jié)構(gòu),以下答案基于你提供的有限信息:
select district as 行政區(qū),count(1) as 小區(qū)數(shù) -- 我默認你每個小區(qū)時一條記錄,且無重復, sum(if(idNB = 1 ,1 ,0)) as 高檔小區(qū)數(shù) -- 假設高檔小區(qū)的idNB標記為1from table_name group by district其實 sum(if(idNB = 1 ,1 ,0)) 也可以替換成count(idNB = 1 or null)回答2:
mysql不支持分析函數(shù):
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_idNBfrom table t1
分析函數(shù)的寫法:
select district, count(xiaoqu) over (district) count_xiaoqu, count(idNB) over (district) count_idNBfrom table回答3:
我這邊說下我的思路吧,使用MySQL將區(qū)內(nèi)的高端小區(qū)和非高端小區(qū)統(tǒng)計出來
select district,idNB,count(*) from xx GROUP BY district,idNB
然后區(qū)內(nèi)小區(qū)的總數(shù)再由服務端這邊自己處理計算。
相關(guān)文章:
