countMerge(count_events) and country, countMerge(count_events).
                  
                  
                   когда пытаюсь сделать так
                  
                  
                  with a as
                  
                  
                           ((
                  
                  
                                SELECT
                  
                  
                                    country
                  
                  
                                     ,countMerge(count_events)
                  
                  
                                FROM table1
                  
                  
                                GROUP BY country
                  
                  
                  
                  
                  
                                except
                  
                  
                                SELECT
                  
                  
                                    country
                  
                  
                                        ,countMerge(count_events)
                  
                  
                                FROM table2
                  
                  
                                GROUP BY country
                  
                  
                            )
                  
                  
                            union all
                  
                  
                            (
                  
                  
                                SELECT
                  
                  
                                    country
                  
                  
                                     ,countMerge(count_events)
                  
                  
                                FROM table2
                  
                  
                                GROUP BY country
                  
                  
                  
                  
                  
                                except
                  
                  
                  
                  
                  
                                SELECT
                  
                  
                                    country
                  
                  
                                        ,countMerge(count_events)
                  
                  
                                FROM table1
                  
                  
                                GROUP BY country
                  
                  
                  
                  
                  
                            ))
                  
                  
                  select count() from a;
                  
                  
                  
                  
                  
                  
                  
                  
                  но при этом вот такой (логически эквивалентный вариант) отрабатывает без ошибок:
                  
                  
                  
                  
                  
                  with a as
                  
                  
                      (
                  
                  
                      SELECT
                  
                  
                      country
                  
                  
                          ,countMerge(count_events)
                  
                  
                      FROM table1
                  
                  
                      GROUP BY country
                  
                  
                  
                  
                  
                      except
                  
                  
                      SELECT
                  
                  
                      country
                  
                  
                          ,countMerge(count_events)
                  
                  
                      FROM table2
                  
                  
                      GROUP BY country
                  
                  
                      )
                  
                  
                  , b as
                  
                  
                      (
                  
                  
                      SELECT
                  
                  
                      country
                  
                  
                          ,countMerge(count_events)
                  
                  
                      FROM table2
                  
                  
                      GROUP BY country
                  
                  
                  
                  
                  
                      except
                  
                  
                  
                  
                  
                      SELECT
                  
                  
                      country
                  
                  
                          ,countMerge(count_events)
                  
                  
                      FROM table1
                  
                  
                      GROUP BY country
                  
                  
                  
                  
                  
                      )
                  
                  
                  SELECT count()
                  
                  
                  FROM
                  
                  
                      (
                  
                  
                          SELECT *
                  
                  
                          FROM a
                  
                  
                          UNION ALL
                  
                  
                          SELECT *
                  
                  
                          FROM b
                  
                  
                          )
                  
                  
                  
                  
                  
                  В чем может быть причина?
                  
                  
                
при выставлении set allow_experimental_analyzer=1 - ошибка уходит
Обсуждают сегодня