Как выбрать последний раздел в таблице BigQuery?
Я пытаюсь выбрать данные из последнего раздела в таблице BigQuery с разделением по датам, но запрос все еще считывает данные из всей таблицы.
Я пробовал (насколько я знаю, BigQuery не поддерживаетQUALIFY
):
SELECT col FROM table WHERE _PARTITIONTIME = (
SELECT pt FROM (
SELECT pt, RANK() OVER(ORDER by pt DESC) as rnk FROM (
SELECT _PARTITIONTIME AS pt FROM table GROUP BY 1)
)
)
WHERE rnk = 1
);
Но это не работает и читает все строки.
SELECT col from table WHERE _PARTITIONTIME = TIMESTAMP('YYYY-MM-DD')
где'YYYY-MM-DD'
это конкретная дата работает.
Тем не менее, мне нужно запустить этот сценарий в будущем, но обновление таблицы (и_PARTITIONTIME
) нерегулярно. Есть ли способ получить данные только из последнего раздела в BigQuery?