在GROUP BY中使用时间戳功能

时间:2012-09-04 11:15:26

标签: google-bigquery

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

  

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

是否有一个简单的解决方法来实现这一点,还是应该构建一个日历表(这可能是最简单的选项)?

2 个答案:

答案 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