看板 Database 關於我們 聯絡資訊
select t4.xxx,ifnull(t5.cnt,0) from ( select @xxx := @xxx + 1 as xxx from ( select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9 union select 10 ) t1,( select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9 ) t2,( select @xxx:=9 ) t3 ) t4 left join ( select rpad(欄位名稱,2,'0') as xxx,count(*) as cnt from 表格名稱 group by rpad(欄位名稱,2,'0') ) t5 on t4.xxx = t5.xxx 註: 黃色部份是產生 10 ~ 99 粉紅部份是缺的部份補 0 ※ 引述《KerKerLaugh (科科笑)》之銘言: : 另外我想再接著問一個問題 : 我用rpad取該欄位的前兩位數時應該會有10~99共90筆資料 計算COUNT : 如果原始資料表裡缺少了51~55開頭的這5筆資料 : 那麼XXX只會顯示 ~ 49 50 56 57 ~ : 是否有辦法補上缺的位數 然後該筆COUNT=0 : ※ 引述《cutekid (可愛小孩子)》之銘言: : : select rpad(欄位名稱,2,'0') as xxx,count(*) : : from 表格名稱 : : group by rpad(欄位名稱,2,'0') : : ref. bohei -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.233.210 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1405404772.A.1E6.html
KerKerLaugh:感謝你 07/16 09:21