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