选择范围内的分组 [英] Select with grouping in range
本文介绍了选择范围内的分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
AB
_____________ $
1 A
3 B
6 C
7 C
8 X
9 Y
15 Z
16 R
17 t
23 T
43 e
$ p $
范围A计数B
_________________
1-10 6
11-20 3
21-30 1
31-40 1
这可以使用循环完成:
从TableA中选择Count(*),其中b在@a和@b
之间b
但是我想做它可能没有使用任何循环?
解决方案
试试这个:
< (((A / 10)* 10 + 1)as varchar(100))+' - '+ Cast(((A / 10)* 10)pre> + 10)as varchar(100))AS'Range A',
Count(*)as'Count B'
FROM TableA
GROUP BY A / 10
From Table
A B
_______________
1 A
3 B
6 C
7 C
8 X
9 Y
15 Z
16 R
17 t
23 T
43 e
How to bring this result:
Range A Count B
_________________
1-10 6
11-20 3
21-30 1
31-40 1
This could be done using loop:
Select Count (* ) from TableA where b between @a and @b
But I would like to do it without using any loop is it possible?
解决方案
Try this:
SELECT
Cast(((A / 10) * 10 + 1) as varchar(100)) + '-' + Cast(((A / 10) * 10 + 10) as varchar(100)) AS 'Range A',
Count(*) as 'Count B'
FROM TableA
GROUP BY A / 10
这篇关于选择范围内的分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文