12

我正在处理一个大型交易数据集,并希望按月对单个客户交易的计数进行分组。我无法在 中使用时间戳函数GROUP BY并返回以下错误:

BAD_QUERY(GROUP BY 中的表达式 STRFTIME_UTC_USEC([DATESTART], '%b') 无效)

是否有一个简单的解决方法来实现这一点,或者我应该建立一个日历表(这可能是最简单的选择)?

4

2 回答 2

21

您必须使用别名:

SELECT STRFTIME_UTC_USEC(DATESTART, '%b') as month, COUNT(TRANSACTION)
FROM datasetId.tableId
GROUP BY month
于 2012-09-04T14:40:18.863 回答
4

@Charles 是正确的,但顺便说一句,您也可以按列号分组。

SELECT STRFTIME_UTC_USEC(DATESTART, '%b') as month, COUNT(TRANSACTION) as count
FROM [datasetId.tableId]
GROUP BY 1
ORDER BY 2 DESC
于 2016-03-15T18:12:59.613 回答