作者:
cutekid (可愛小孩子)
2014-07-15 14:12:49select 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