作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Google Big Query(和 Stack Overflow)的新手,主要测试 Big Query 设法处理精心设计和糟糕的查询的速度。
我在 MySQL 上运行(缓慢)的繁琐查询时遇到困难。 Big Query 提示 GROUP BY 内容。这是起始查询:
SELECT nonstops.term, nonstops.lincat, nonstops.id,
MIN(
(1-((LEAST(1,minusone.catimp / nonstops.catimp) + LEAST(1,minusone.catweb / nonstops.catweb))/2))*
(1-((LEAST(1,minusone.catimp / nonstops.catimp) + LEAST(1,minusone.catweb / nonstops.catweb))/2))*
(1-((LEAST(1,minusone.catimp / nonstops.catimp) + LEAST(1,minusone.catweb / nonstops.catweb))/2))*
(nonstops.catweb * nonstops.catweb * nonstops.catimp / nonstops.fnvweb / nonstops.fnvimp)
)
AS calc FROM nonstops INNER JOIN EACH minusone ON nonstops.lincat = minusone.lincat AND nonstops.term = minusone.term
WHERE nonstops.lincat = 556 GROUP BY nonstops.term, nonstops.lincat
ORDER BY `calc` DESC
calc
' 不在 GROUP BY 列表中
最佳答案
当您按 BigQuery(或任何 SQL)中的某些内容进行分组时,结果字段应该是按字段分组或聚合。
否则,您应该获得 nonstops.id 的哪个值?可能有很多与一对 (nonstops.term, nonstops.lincat) 相关联。
您可以选择 id 字段的最大值、最小值等;按此字段分组(但随后您将计算 term、lingcat 和 id 的每个元组);或者,如果您不需要它,只需删除此字段 - 如果您想要每个 (nonstops.term, nonstops.lincat) 对的 'calc' 表达式的结果。
BigQuery 提示 `calc` 的原因是不同的 - BigQuery(当您使用旧 SQL 方言时)不使用反引号 (`) 进行引用。所以它认为它们是名称的一部分,它是一个与“calc”字段分开的新字段。只需删除它们或使用 BigQuery 的引号 [ 和 ] - [calc]
.或者切换到标准 SQL 方言。
关于google-bigquery - Google Big Query 中的 GROUP BY 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30686033/
我是一名优秀的程序员,十分优秀!