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