0

我想对 SQL 数据库中一张表中的数据进行分组。用于分组的字段是数字的,我想要的组不遵循任何数学公式,例如

组 0 值未知 (NULL)

第 1 组值 0 - 499

第 2 组值 500 - 999

第 3 组值 1000 - 1999

第 4 组值 2000 - 4999

第 5 组价值 5000 +

如何使用 TSQL 实现这一目标?

顺便说一句,我想这样做以显示在 Crystal Reports 中,所以如果有更好的方法在 Crystal Reports 中执行此操作而不是通过 SQL Select 语句,请告知。

4

1 回答 1

1

您可以使用 acase创建自定义组。如果case在子查询中定义,则不必重复定义:

select  Grp
,       sum(col2)
,       avg(col3)
from    (
        select  case
                when col1 is null then 0
                when col1 between 0 and 499 then 1
                when col1 between 500 and 999 then 2
                ...
                end as Grp
        ,       *
        ) as SubQueryAlias
group by
        Grp
于 2012-09-18T08:58:33.950 回答