代码之家  ›  专栏  ›  技术社区  ›  Robert Kock

选择:按函数结果分组

  •  0
  • Robert Kock  · 技术社区  · 6 年前


    在一个 SELECT 声明,我想知道有多少元素有哪些状态。

    目前,我得到以下信息:

    SELECT   my_function(entity_id) AS status,
             COUNT(*)
    FROM     some_table
    GROUP BY my_function(entity_id) -- entity_id is a column of some_table
    ORDER BY status;
    

    这是可行的,但我发现在 GROUP BY 声明。
    上面的代码只是一个例子。实际函数是在一个包中定义的,有几个输入参数。

    是否可以在不引用GROUPBY语句中存储的函数的情况下执行此操作?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Aleksej    6 年前

    select count(*),
           status
    from ( 
            select s.*,
                   my_function(entity_id) as status
            from some_Table s
         )
    group by status
    order by status