问题标签 [legacy-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Bigquery 查询失败“查询执行期间资源超出:用于查询的表元数据太大”
我遇到了错误
“查询执行期间超出资源:用于查询的表元数据太大”
执行此查询时:
如果我更改TIMESTAMP('2017-1-1'),TIMESTAMP('2018-12-31')
为TIMESTAMP('2018-1-1'),TIMESTAMP('2018-12-31')
,它将起作用。在不更改 TIMESTAMP 的情况下我能做些什么来修复它?
mysql - GBQ 的标准 SQL 是否可以与 Microsoft SQL 和/或 MySQL 相媲美?
我知道不同的 SQL 类型之间存在差异,但我试图了解每个人都在使用的当前标准是什么。
话虽如此,如果我知道 GBQ 的标准 SQL,我是否能够毫无问题地使用 Microsoft SQL Server 和/或 MySQL?还是让我了解 GBQ 的 Legacy SQL 以便与 Microsoft SQL Server 和/或 MySQL 一起工作更好?
sql - 将单个 sql 列拆分为五个
我试图在“ >”分隔符周围将一列分成最多五列,但我尝试过的事情没有得到解决:
我试过
这没有用,并且
这是哪一种(无论如何是第一部分,而不是第n部分)
我在这里找到了很多示例,但它们似乎都在说要使用括号,但括号会引发错误:
例外:格式错误的 SQL。更多信息: SQL 语句错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 3 行使用 '[1] 作为表中的“第一个”,其中复合列不为 NULL'。
sql - 字符串拆分函数的 SQL 分组/计数
好的,所以我的原件是这个
但是有些人有多个人,所以这个聚合不会给你 A、B、C 的纯计数,而且每次迭代
等等
这可以获取遗留 sql 中个人的完整列表
但我不能在上面使用 group by
给出错误
无法按聚合分组。
我觉得解决方案是一个子查询,不知何故,但我不知道如何执行它
google-bigquery - 将旧版 SQL 转换为标准 SQL - 增强型电子商务
我绝不是编码员,所以我尝试过但在这方面失败了。
我想使用 Googles Google Analytics Big Query Cookbook 中的这个查询
购买产品 A 的客户购买的产品(增强型电子商务)
我已经粘贴了下面的代码
进入标准 SQL。
我做了几次尝试,但我摔倒了
提前谢谢你,约翰
sql - 如何使用 BigQuery 旧版 sql 查询相同的重复字符串字段以获取多个值?
我有一个表 t1 的结构:
- id:整数
- 名称:重复(字符串)
我有多个名称的条目:
- 123; 名称1,名称2
- 124; 姓名 1,姓名 3,姓名 4,姓名 5
- 125; 姓名 1,姓名 4,姓名 7
我想返回名称等于name1和name4的行(唯一),这将返回第 2 行和第 3 行,id 124 和 125
Bigquery 会自动展平结果。但这使得很难返回包含多个
由于某些限制,必须使用 LegacySQL 执行此操作。我试过了:
SELECT _id AS _id, GROUP_CONCAT_UNQUOTED(name) AS name where name like "%name1%" and name like "%name4%"
也尝试了 = 并且无法正常工作。
由于name1,这也返回所有行:
名称输入(“名称 1”、“名称 4”)
(名称=“名称1”或名称=“名称4”)
google-bigquery - Bigquery LegacySQL 使用特殊装饰器及时的无效快照@0
我正在运行 bigquery legacy sql 并使用特殊的装饰器 @0 它在任何表上都会出错:
表 upbeat-stratum-242175:my_dataset.my_data 的快照时间 1570001838355 无效。在 1570001838359 之前无法读取
再次运行它只会随着当前时间戳而改变,但总是显示时间戳与约 4 秒的误差的差异。
无论我运行它的表,这种情况都会发生。
google-bigquery - 如何将时间戳彼此接近的会话分组?
我的场景要求我将相隔不到 60 秒的会话视为同一会话。
数据如下。
将相隔不到 60 秒但仍按设备分开的会话分组在一起。它看起来像这样。
我希望能够得到像这样的东西。Session_ID
不需要像 A1、B1、C1 等。可以简单地是会话的第一个值。注意Max_Timestamp
最新的现在是新的Max_Timestamp
。
我的想法是让所有Session_ID
属于同一组的人都一样。然后 group byDevice_ID
和Session_ID
to get min(Min_Timestamp)
,max(Max_Timestamp).
我试图摆弄first_value()
on Session_ID
,但我不知道如何正确分区。
最好在遗产中实现这一点。如果没有,标准也会起作用。
sql - BigQuery - 查找过去 365 天内每个值的最新条目
我将我的 Gmail 日志发送到 BQ,我正在尝试查找上次将电子邮件发送到地址列表的时间(并且只提取最新信息)
这是我目前使用的查询:
但是,这会返回在过去 365 天内向该地址发送电子邮件的每个实例。
我该如何限制它,以便它只为 where 子句中的每个匹配项提取最新的电子邮件数据?
此外,这是使用 Google 的“旧版”SQL - 知道如何将其转换为标准吗?
编辑- 更新架构和清晰度
sql - Big Query - 从临时表创建表/视图
我们在 Big Query 中有一个查询,如下所示
上述查询将结果存储在查询中写入的临时表中。如何将这些结果存储到实际的表/视图中,以便用于进一步的数据建模?