Я использую Улей 1.2.1, и у меня есть улей sql следующим образом:
select
c1
, c2
, c3
, GROUPING__ID
, count(*) as cnt
from (
select
1 as c1, 2 as c2, 3 as c3
union all
select
1 as c1, 2 as c2, 33 as c3
) t
group by c1, c2,c3
grouping sets(
(c1,c2,c3),
(c1,c2),
(c1)
)
Результат ниже, что неверно.
+-----+-----+-------+---------------+------+--+
| c1 | c2 | c3 | grouping__id | cnt |
+-----+-----+-------+---------------+------+--+
| 1 | 2 | NULL | 1 | 2 |
| 1 | 2 | NULL | 3 | 2 |
| 1 | 2 | 3 | 7 | 1 |
| 1 | 2 | 33 | 7 | 1 |
+-----+-----+-------+---------------+------+--+
правильный результат должен быть:
+-----+-------+-------+---------------+------+--+
| c1 | c2 | c3 | grouping__id | cnt |
+-----+-------+-------+---------------+------+--+
| 1 | NULL | NULL | 1 | 2 |
| 1 | 2 | NULL | 3 | 2 |
| 1 | 2 | 3 | 7 | 1 |
| 1 | 2 | 33 | 7 | 1 |
+-----+-------+-------+---------------+------+--+
Если я выполню запрос к таблице следующим образом, то результат будет правильным.
select
c1
, c2
, c3
, GROUPING__ID
, count(*) as cnt
from t
group by c1, c2,c3
grouping sets(
(c1,c2,c3),
(c1,c2),
(c1)
)
Может ли кто-нибудь помочь взглянуть?