group-by - 按分组字段的大查询顺序
问题描述
我有一个按日期分组的查询,效果很好。
SELECT EXTRACT(date FROM DATETIME(timestamp, 'US/Eastern')) date, SUM(users) total_users FROM `mydataset.mytable`
GROUP BY EXTRACT(date FROM DATETIME(timestamp, 'US/Eastern'))
但是当我尝试按日期订购时:
SELECT EXTRACT(date FROM DATETIME(timestamp, 'US/Eastern')) date, SUM(users) total_users FROM `mydataset.mytable`
GROUP BY EXTRACT(date FROM DATETIME(timestamp, 'US/Eastern'))
ORDER BY EXTRACT(date FROM DATETIME(timestamp, 'US/Eastern'));
我收到以下错误:
SELECT list expression references column timestamp which is neither grouped nor aggregated at [1:35]
时间戳列显然是 group by 的一部分,甚至更奇怪的是它在没有ORDER BY
子句的情况下也可以工作......这里发生了什么?
解决方案
#standardSQL
SELECT
EXTRACT(DATE FROM DATETIME(timestamp, 'US/Eastern')) date,
SUM(users) total_users
FROM `mydataset.mytable`
GROUP BY 1
ORDER BY 1
推荐阅读
- css - 个人资料图片和输入在移动视图中消失
- python - Python:ValueError:int()的无效文字,if else条件语句的语句中的基数为10
- jax-rs - 服务器发送事件 JAX-RS
- azure-devops - 在 Azure DevOps 中,如何自动将工作项从一个状态移动到另一个状态?
- c++ - 从 Visual Studio 部署非常小的应用程序的困难
- python - kivy 应用程序中的错误:object.__init__() 仅采用一个参数(要初始化的实例)
- c++ - 没有这样的文件或目录collect2.exe:错误:ld 返回 1 退出状态
- flutter - 如何突出显示搜索结果中的匹配项
- css - 预选选项在页面加载时突出显示为灰色,希望它为蓝色
- reactjs - React Hooks 中关于 setState 回调的一些混淆