我正在处理一个大型交易数据集,并希望按月对单个客户交易的计数进行分组。我无法在 中使用时间戳函数GROUP BY
并返回以下错误:
BAD_QUERY(GROUP BY 中的表达式 STRFTIME_UTC_USEC([DATESTART], '%b') 无效)
是否有一个简单的解决方法来实现这一点,或者我应该建立一个日历表(这可能是最简单的选择)?
我正在处理一个大型交易数据集,并希望按月对单个客户交易的计数进行分组。我无法在 中使用时间戳函数GROUP BY
并返回以下错误:
BAD_QUERY(GROUP BY 中的表达式 STRFTIME_UTC_USEC([DATESTART], '%b') 无效)
是否有一个简单的解决方法来实现这一点,或者我应该建立一个日历表(这可能是最简单的选择)?
您必须使用别名:
SELECT STRFTIME_UTC_USEC(DATESTART, '%b') as month, COUNT(TRANSACTION)
FROM datasetId.tableId
GROUP BY month
@Charles 是正确的,但顺便说一句,您也可以按列号分组。
SELECT STRFTIME_UTC_USEC(DATESTART, '%b') as month, COUNT(TRANSACTION) as count
FROM [datasetId.tableId]
GROUP BY 1
ORDER BY 2 DESC