sql - 选择范围内的分组

标签 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

如何带来这个结果:

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

但是我想不使用任何循环就可以做到这一点吗?

最佳答案

试试这个:

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

关于sql - 选择范围内的分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597723/

相关文章:

sql - 查找表中总值和不同值之间的差异

sql - MySQL 语法错误

mysql - 如何按年度计算员工总数和员工总数

c# - sqlite-net like 语句崩溃

ios - SQLite 使用 select 语句的结果更改表

python - 操作错误: unable to open database file in PyCharm with Flask IDE plug-in

python - 按频率对数据进行分组

mysql - SQL查询按结果分组

mysql - 如果 id 不为空,则对 mysql 进行分组

mysql - 如何在Mysql中连接两个或多个代表最小值和日期的表