Re: [SQL ] substring語法

作者: KerKerLaugh (科科笑)   2014-07-15 11:18:37
另外我想再接著問一個問題
我用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
: ※ 引述《KerKerLaugh (科科笑)》之銘言:
: : 我想要在大量的"數字資料"裡取前兩位的字串做排序,然後計算筆數
: : SELECT substring( 欄位名稱, 1, 2 ) AS XXX, Count( * )
: : FROM 表格名稱
: : GROUP BY substring( 欄位名稱, 1, 2 )
: : 假設結果應該要是
: : XXX Count( * )
: : 10 5
: : 11 26
: : ~ ~
: : 98 66
: : 99 10
: : 但如果某筆資料的位數只有"個位數" 比如說4好了
: : 結果就會顯示
: : XXX Count( * )
: : ~ ~
: : 39 23
: : 4 1
: : 40 56
: : ~ ~
: : 我要的結果應該是4的那筆資料計算進40的那筆裡面
: : 請問有辦法讓他判斷要補0嗎
: : 我用的是mysql
作者: bohei (run and fall)   2014-07-15 12:33:00
一定要讓出來的結果是連續的嗎?或是可由AP取出結果後,判斷NULL則給0
作者: KerKerLaugh (科科笑)   2014-07-15 13:15:00
對 是要連續的 GROUP BY是否就能做到?大大說的ap取出結果是指 判斷null給0就會產生XXX的缺號 還是可以先得出XXX的缺號在判斷NULL給0
作者: bohei (run and fall)   2014-07-15 16:07:00
ㄟ..這個..有點難解釋,不知道你撈出資料後還有沒有其他程式會做處理,我的意思是在撈出資料後,在處理時發現沒有這類的筆數時,再給0就好
作者: konkonchou (卡卡貓)   2014-07-16 00:17:00
另外開個TABLE把要連續顯示的數字先存一遍,再join結果

Links booklink

Contact Us: admin [ a t ] ucptt.com