作者KerKerLaugh (科科笑)
看板Database
标题Re: [SQL ] substring语法
时间Tue Jul 15 11:18:37 2014
另外我想再接着问一个问题
我用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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.176.231
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1405394320.A.1A7.html
※ 编辑: KerKerLaugh (140.123.176.231), 07/15/2014 11:25:18
1F:→ bohei:一定要让出来的结果是连续的吗? 07/15 12:33
2F:→ bohei:或是可由AP取出结果後,判断NULL则给0 07/15 12:33
3F:→ KerKerLaugh:对 是要连续的 GROUP BY是否就能做到? 07/15 13:15
4F:→ KerKerLaugh:大大说的ap取出结果是指 判断null给0就会产生XXX的缺 07/15 13:16
5F:→ KerKerLaugh:号 还是可以先得出XXX的缺号在判断NULL给0 07/15 13:16
6F:→ bohei:ㄟ..这个..有点难解释,不知道你捞出资料後还有没有其他程式 07/15 16:07
7F:→ bohei:会做处理,我的意思是在捞出资料後,在处理时发现没有这类的 07/15 16:08
8F:→ bohei:笔数时,再给0就好 07/15 16:08
9F:→ konkonchou:另外开个TABLE把要连续显示的数字先存一遍,再join结果 07/16 00:17