【问题标题】:Conditional grouping clause (sqlite)条件分组子句 (sqlite)
【发布时间】:2013-08-30 12:52:00
【问题描述】:

SELECT 语句中,如果col_B = "some_value",是否可以GROUP BY col_A,否则GROUP BY col_C?那么在结果中是否有用于分组的字段?

喜欢

SELECT value_of_the_column_used_for_group 
   FROM table WHERE ... 
   GROUP BY (IF col_B = "some_value" : col_A : ELSE : col_C)
   LIMIT 0, 20;

基本上,我想选择具有不同父项的子记录或具有不同 ID 的父记录。但我想选择父 ID,可以是子记录中的 ID 列或“parent_ID”列

【问题讨论】:

    标签: sql sqlite pdo group-by conditional


    【解决方案1】:

    你,你可以使用case声明:

    SELECT (case when col_B = 'some_value' then col_A ELSE col_C end) 
    FROM table WHERE ... 
    GROUP BY (case when col_B = 'some_value' then col_A ELSE col_C end)
    LIMIT 0, 20;
    

    【讨论】:

      【解决方案2】:

      您可以在条件中添加名称并在一段时间后调用...

          SELECT (case when col_B = 'some_value' then col_A ELSE col_C end AS 'CONDITION')
          FROM table WHERE ...
          GROUP BY CONDITION
          LIMIT 0, 20;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-28
        • 2016-10-16
        • 2016-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多