Вычислите TIMESTAMP_DIFF между двумя столбцами в BigQuery

# #sql #google-bigquery #timestampdiff

Вопрос:

Я очень новичок в SQL и работаю с большим набором данных (более 300 000 строк данных), и мне нужно рассчитать время, прошедшее между столбцом A (время начала) и столбцом B (время окончания) для каждой строки данных.

До сих пор мне удавалось выяснить, как найти время, прошедшее для данной строки, с помощью TIMESTAMP_DIFF, используя следующий синтаксис:

 SELECT 
TIMESTAMP "2020-06-06 12:04:48 UTC" as end_time,
  TIMESTAMP "2020-06-06 08:09:09 UTC" as start_time,
  TIMESTAMP_DIFF(TIMESTAMP "2020-06-06 12:04:48 UTC",
    TIMESTAMP "2020-06-06 08:09:09 UTC", MINUTE) AS minutes
 

Поскольку было бы нереально сделать это для каждой строки данных, есть ли какой-либо способ применить это ко всем двум столбцам? Или есть какой-то другой метод вычитания значений в двух столбцах, содержащих данные временных меток?

Ответ №1:

 SELECT TIMESTAMP_DIFF(end_time, start_time, MINUTE) AS minutes
FROM your_table