Когда я запрашиваю BQ с ROLLUP по потенциально большому набору поля критериев группировки (в данном случае campaign_group_id
)
Например:
SELECT
campaign_group_id AS campaign_group_id,
DATE(DATE_ADD(TIME, 3, 'HOUR')) AS DAY,
SUM(impressions) AS imps
FROM
[browser_traffic.2016_05_28],
[browser_traffic.2016_05_29]
WHERE
( DATE_ADD( TIME, 3, "HOUR") >= '2016-05-28 00:00:00'
AND DATE_ADD( TIME, 3, "HOUR") < '2016-05-30 00:00:00' )
GROUP EACH BY ROLLUP (campaign_group_id, DAY)
ORDER BY DAY ASC, campaign_group_id ASC
LIMIT 500
BQ возвращает много строк с промежуточными итогами, что неприменимо в моем случае использования:
+-------------------+------+-----------+
| campaign_group_id | day | imps |
+-------------------+------+-----------+
| NULL | NULL | 158423933 |
| 61 | NULL | 0 |
| 496 | NULL | 79870 |
| 497 | NULL | 10492 |
| 809 | NULL | 0 |
| 936 | NULL | 2451 |
| 937 | NULL | 0 |
| 940 | NULL | 6844 |
| 942 | NULL | 207685 |
| 946 | NULL | 0 |
| 961 | NULL | 0 |
| 975 | NULL | 16167 |
| 976 | NULL | 15767 |
| 1018 | NULL | 0 |
| 1020 | NULL | 0 |
| 1022 | NULL | 766875 |
| 1039 | NULL | 355765 |
...
Мне нужно как-то уменьшить промежуточные итоговые строки из результата, но оставить нетронутую общую итоговую строку (которая является первой строкой в приведенном выше результате)
Возможно ли, что BQ возвращает только строку общего итога для выбранных полей?