选择范围内的分组

Thu*_*der 5 sql sqlite group-by

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
Run Code Online (Sandbox Code Playgroud)

如何带来这个结果:

Range A  Count B
_________________
1-10    6
11-20   3
21-30   1
31-40   1
Run Code Online (Sandbox Code Playgroud)

这可以使用循环完成:

Select Count (* ) from TableA where b between @a and @b
Run Code Online (Sandbox Code Playgroud)

但我想这样做而不使用任何循环是否可能?

Tim*_*ers 2

尝试这个:

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
Run Code Online (Sandbox Code Playgroud)