1

SELECTステートメント内で、GROUP BY col_Aif col_B = "some_value"、それ以外の場合は可能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列または子レコードの「parent_ID」列である親IDを選択したい

4

2 に答える 2

3

あなたは、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;
于 2013-08-27T16:41:00.087 に答える
1

条件に名前を追加して、しばらくすると電話をかけることができます...

    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;
于 2015-07-17T23:51:18.720 に答える