Подтвердить что ты не робот

Использование функции timestamp в группе GROUP BY

Я работаю с большим набором данных транзакций и хотел бы группировать количество отдельных транзакций клиента по месяцам. Я не могу использовать функцию timestamp в GROUP BY и возвращать следующую ошибку:

BAD_QUERY (выражение STRFTIME_UTC_USEC ([DATESTART], '% b') в GROUP BY недействительно)

Есть ли простой способ обхода этого решения или я должен создать таблицу календаря (которая может быть самым простым вариантом)?

4b9b3361

Ответ 1

Вы должны использовать псевдоним:

SELECT STRFTIME_UTC_USEC(DATESTART, '%b') as month, COUNT(TRANSACTION)
FROM datasetId.tableId
GROUP BY month

Ответ 2

@Charles верен, но в качестве опции вы можете также группировать по номеру столбца.

SELECT STRFTIME_UTC_USEC(DATESTART, '%b') as month, COUNT(TRANSACTION) as count
FROM [datasetId.tableId]
GROUP BY 1
ORDER BY 2 DESC