gpt4 book ai didi

SQL:GROUP BY 用于数字范围?

转载 作者:行者123 更新时间:2023-12-05 08:17:28 29 4
gpt4 key购买 nike

我和我的同事都是新手,也是 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

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

如果我的问题让人一头雾水,请告诉我,我会尽我所能澄清。

最佳答案

使用 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

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

关于SQL:GROUP BY 用于数字范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922537/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com