SQL:GROUP BY用于数字范围?

Sta*_*rsh 1 sql group-by

我和他的同事一样,是第一次发布SQL的新手.
我有一列数字(让我们称之为"数字"),其中的值范围为1-9999.
我需要创建一个分组列(让我们称之为"数字级别")并将AA的值分配给1-999,BB从1000-6999和CC为7000-9999的所有数字.
因此,最终输出将如下所示(输出不需要订购):

numbers      |   numbers level
-------------------------------------
   136       |        AA
  2935       |        BB
  4288       |        BB
  8987       |        CC
  436        |        AA
  3737       |        BB
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来编写脚本,即:使用GROUP BY子句?
或者该分组列是否已经存在,我需要用命令填充它?

如果我的问题无能为力,请告诉我,我会尽我所能澄清.

APH*_*APH 10

使用case语句最简单(假设您使用的是sql-server;如果没有,请为正确的版本添加标签).

Select [Numbers]
  , case when [Numbers] between 1 and 999 then 'AA'
         when [Numbers] between 1000 and 6999 then 'BB'
         when [Numbers] between 7000 and 9999 then 'CC'
    end as [Numbers Level]
from MyTable
Run Code Online (Sandbox Code Playgroud)

如果您的任何数字不属于这些范围,它将返回NULL - else如果您想要在发生这种情况时获得不同的结果,请使用.