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