Выберите с группировкой в ​​диапазоне - PullRequest
5 голосов
/ 29 сентября 2011
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

Как вывести этот результат:

Range A  Count B
_________________
1-10    6
11-20   3
21-30   1
31-40   1

Это можно сделать с помощью цикла:

Select Count (* ) from TableA where b between @a and @b

Но я бы хотел сделать это без использования какого-либо цикла, это возможно?

1 Ответ

2 голосов
/ 29 сентября 2011

Попробуйте это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...