我和他的同事一样,是第一次发布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如果您想要在发生这种情况时获得不同的结果,请使用.
| 归档时间: |
|
| 查看次数: |
7156 次 |
| 最近记录: |