我正在用BigQuery编写一个简单的case语句来检查日期时间的值:
select
case datetime_field
when null then 'Open'
else 'Closed'
end
from a_table
datetime_field中有空值,但是case语句的计算结果为“There”。
以下简单的select语句确实返回值:
select * from a_table where datetime_field is null
您知道为什么Case语句不计算空日期时间吗?
WITH
bigquery
AS
(SELECT level from dual connect by level<1000)
SELECT json_arrayagg (json_object (*))
FROM bigquery
使用这段代码,我可以序列化查询的结果。但是当查询太大时。它不再起作用了。
Ora-40478:输出值过大(最大值:4000)
这个问题来自json_arrayagg(json_object(*))
因为这段代码起作用
WITH
bigquery
AS
(SELECT level fr
我使用云控制台中的Stackdriver创建了BigQuery活动的日志导出。
我在google文档中找到了以下查询,以按用户提取BigQuery成本细目:
#standardSQL
WITH data as
(
SELECT
protopayload_auditlog.authenticationInfo.principalEmail as principalEmail,
protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent as jobCompletedEvent
FROM
`Audi
我需要跳过记录,获取一定数量的记录,并使用BigQuery获取数据网格的记录总数。我知道如何记录(页码):
SELECT * FROM `my_table` where name='sonic' LIMIT 10
现在,我需要跳过"x“的记录量,根据用户在哪个页面。我可以这样做,我只是不知道大的查询语法来做它。Sql Server是这样做的
SELECT col1, col2, ...
FROM ...
WHERE ...
ORDER BY -- this is a MUST there must be ORDER BY statemen
我正在尝试使用npm模块@google-cloud/bigquery运行参数化查询。如下所示: SELECT * FROM myTable WHERE id IN (@ids); 我不知道bigQuery是如何期望参数ids格式化的。 我的options.params看起来像这样: { ids: '"1234", "4567"'} 但是我没有得到任何结果。我知道有结果,我可以在bigquery中看到它们,如果我删除参数并只注入字符串,就可以很好地工作。 这看起来很简单,但我不明白为什么它不能工作,谁愿意帮助我? 提前谢谢你
SELECT
station_id,
name
FROM
bigquery-public-data.new_york.citibike_stations
WHERE
(
SELECT
start_station_id
FROM
bigquery-public-data.new_york.citibike_trips
WHERE
usertype = 'subscriber'
)
我刚开始学习SQL,所以我不知道错误是什么。这是我第一次在查询中做子查询,所以我想说的是关于空间,否则我不知道。I Big
查看BigQuery的堆栈溢出公共数据集,我的目标是在数据集的最新一天查询得分最高的帖子。要打印日期,分数,查看计数,用户名等。
SELECT display_name name, score, view_count, title, date
FROM `bigquery-public-data.stackoverflow.users` as u
INNER JOIN (
SELECT owner_user_id, date(creation_date) date, view_count, score, title
FROM `bigquery-public-data.stac
我使用的查询:
select *
from time
where date = '2018-03-10'
limit 0,5;
我希望从第一行返回输出,但它跳过第一行数据并显示第2行的结果。
我也试着
选择*从日期=‘2018-03-10’按日期限制的顺序5偏移0的时间;
每次我称其偏移量增加了5,但结果跳过数据,...it没有显示数据,其中name =sss和www...but显示了其余的数据,为什么?
我不得不转移一些谷歌BigQuery表,现在一些数据显示板不再工作了。我检查了查询Datastudio的运行情况。它这样做:
SELECT t0.column, SUM(t0.value) AS t0_qt_weezwy5dnb FROM
(SELECT * FROM `table_*` WHERE _TABLE_SUFFIX BETWEEN '20180726' AND '20180726')
AS t0 GROUP BY t0.column ORDER BY t0.column DESC;
但是它给出了“在t0中找不到的Name列”的错误。在查询中的这个
我有一个建立在CTE基础上的BigQuery。
With Trips AS (
SELECT
unique_key,
EXTRACT(MONTH from trip_start_timestamp) AS month,
EXTRACT(YEAR from trip_start_timestamp) AS year
FROM
`bigquery-public-data.chicago_taxi_trips.taxi_trips`
WHERE
year = 2017
)
SELECT
m
我已经创建了C#.NET应用程序(使用服务身份验证)。
我正在尝试运行select语句(来自Google BigQuery的公共示例表)并将结果加载到datatable中,但是无法实现,它引发了错误
导致错误的查询是:“publicdata:samples.github_timeline”中的SELECT*
Google.Apis.Requests.RequestError
Response too large to return. Consider setting allowLargeResults to true in your job configuration. For more i
我正在查阅bigquery的芝加哥出租车数据。我希望从这两个密码中得到两个相同的答案。请注意,trip_start_timestamp最初是日期时间格式(例如2015-23 00:00:00协调世界时)
SELECT
COUNT(DISTINCT unique_key) AS num_trips
FROM
`bigquery-public-data.chicago_taxi_trips.taxi_trips`
WHERE
trip_start_timestamp >= '2015-12-23'
and
trip_start_timestamp <=
如果我删除order,下面的查询将顺利运行。有什么真知灼见吗?它为什么不接受按顺序转换的数据?
供您参考的代码:
select date(creation_date) , count(*) from bigquery-public-data.stackoverflow.post_links
group by date(creation_date)
order by date(creation_date)
我正在尝试使用以下查询来获取每天打开的页面数量。
SELECT day.days, COUNT(*) as opens
FROM day
LEFT OUTER JOIN tracking ON day.days = DAY(FROM_UNIXTIME(open_date))
WHERE tracking.open_id = 10
GROUP BY day.days
我得到的输出是:
days opens
1 9
9 2
问题是,在我的day表中,我有一个包含数字1到30的列来表示一个月中的日期。我做了一个左外连接,我希望在days列上显示所有的日期!
但是我的查询就是这么做的,
我最近才开始使用LogParser,而且我对SQL查询也不熟悉。
我试图让LogParser找到一个包含今天日期的日志文件,然后将该文件的特定内容输出到一个文本文档中。例如:
Select Text INTO D:\LogParser\output\BlahYYYY-MM-DD.txt
From 'C:\Logs\BlahYYYY-MM-DDBlah.log'
where Text like '%exception%'
如何让我的查询在文件名中搜索今天的日期,同时保持YYYY-MM-DD格式,并输出到具有相同日期和格式的文本文件?
我最近从Workbench转向了BigQuery,并且在构建查询时注意到语法上的一些差异。BigQuery很难处理一个非常基本的SQL查询:
SELECT createdAt, incrementId, customerEmail
FROM order
WHERE customerEmail = 'email'
这是输出:
当我想返回最早日期的第一行时:
SELECT MIN(createdAt), incrementId, customerEmail
FROM order
WHERE customerEmail = 'email'
GROUP
我在代码中编写了bigquery。我想得到更大的结果。
我还设置了属性allowLargeResult:true,但仍然收到错误:响应太大,无法返回。考虑在职务配置中将allowLargeResults设置为true。有关更多信息,请参见http s://cloud.google.com/bigquery/troubleshooting-errors。
这是我的Node.js代码:
var google = require('googleapis');
var bigquery = google.bigquery('v2');
var authClient =
我正在编写一个Oracle查询,它需要根据事件发生的日期获取最近的事件。
在我的测试用例中,我有两个查询看起来工作正常。
第一个使用子查询来按日期顺序获取事件,然后我只通过rownum拉取第一条记录:
SELECT description FROM
(
SELECT description FROM tablename
WHERE ((event_type IN ('A','I','Y')) AND (meeting_date IS NOT NULL)
AND id='whatever
我正在尝试从日期分区的BigQuery表中的最新分区中选择数据,但是查询仍然从整个表中读取数据。
我尝试过(据我所知,BigQuery不支持QUALIFY):
SELECT col FROM table WHERE _PARTITIONTIME = (
SELECT pt FROM (
SELECT pt, RANK() OVER(ORDER by pt DESC) as rnk FROM (
SELECT _PARTITIONTIME AS pt FROM table GROUP BY 1)
)
)
WHERE rnk = 1
);
但这并不适用于读取
我正在尝试合并BigQuery中的两个分区表:
'source_t‘是一个源表。它是通过摄取时间和分区过滤器来划分的-
Required. Pseudo field _PARTITIONTIME is timestamp
'target_t‘是使用分区筛选器按字段“date”分区的目标表
Required. Field date is date
我希望从源表的最后一个分区获取数据,并将其合并到目标值表中。要筛选 task 表上的搜索任务,我需要使用源表的数据中的字段'date‘。我编写了一个查询,但编辑器显示了以下查询错误:
如果没有对“日期”列的筛选,就无法查询表“M
如何设置查询参数为空?
query = """
SELECT word, word_count
FROM `bigquery-public-data.samples.shakespeare`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC;
"""
query_params = [
bigquery.ScalarQueryParameter('corpus', 'STRING', 'r
我使用具有以下角色的服务帐户查询bigquery (通过databricks):
BigQuery Data Viewer
BigQuery Job User
BigQuery Metadata Viewer
BigQuery Read Session User
查询是:
SELECT distinct(column_name) FROM `project.dataset.INFORMATION_SCHEMA.COLUMNS` where data_type = "TIMESTAMP" and is_partitioning_column = "YES"
我实际
我目前正在运行一个查询,如下所示:
Select Name from Location Where Created > (long value of date)
and
Created < (long value of date) and LocationContainer = 'a string'
日期的长值表示从Epoch开始的毫秒数,我们用它来存储日期。
我有一个建立在LocationContainer上的索引,按照这个顺序创建。
我有一个返回130万行的查询,但它也需要大约40秒才能运行。是那么回事吗?既然我要查询的字段都被索引了,
我对MySQL有一个奇怪的问题,想看看社区有没有什么想法:
我有一个'tbl‘表,它包含
____________
| id | sdate |
我正在尝试执行这个查询:
select id, max(sdate) as sd from tbl where id in(123) group by id;
这不会返回任何结果。但是,此查询:
select id, sdate from tbl where id in(123);
返回许多带有id和日期的结果。
为什么top查询不能产生结果?
我正尝试在谷歌BigQuery上运行以下查询:
SELECT SUM(var1) AS Revenue
FROM [table1]
WHERE timeStamp = (SELECT MAX(timeStamp) FROM [table1])
我得到以下错误:
错误:在第3行、第19列遇到"“。应为以下之一:
这在BigQuery中不受支持吗?如果是这样的话,会有一个优雅的替代方案吗?
我有一个SQL查询:
SELECT count(DISTINCT(email_address))
FROM Mytable
WHERE TableID = '101'
上面的查询运行良好。
我希望得到电子邮件地址的结果,对于这些地址,TableID具有不同的值,如123,421。
那么,当我编写以下查询时,为什么在MySQLWorkbencch中返回0结果?
SELECT count(DISTINCT(email_address))
FROM Mytable
WHERE TableID = '101'
AND Table
我的目标是测试由一个查询生成的grp是否与同一个查询的输出相同。但是,当我更改一个变量名时,会得到不同的结果。
下面我展示了一个相同查询的示例,其中我们知道结果是相同的。但是,如果运行此组,则会发现一个查询产生的结果与另一个查询的结果不同。
SELECT grp
FROM
(
SELECT CONCAT(word, corpus) AS grp, rank1, rank2
FROM (
SELECT
word, corpus,
ROW_NUMBER() OVER (PARTITION BY word ORDER BY test1 DESC) AS ra
问题
下面的错误信息显示的方式是否有解释,或者是否有一种在子查询中利用可能丢失的数据的文档化的最佳实践?
问题
当我从左联接到CTE的表中引用一个字段时,BigQuery会产生一个令人困惑和毫无帮助的错误。
错误消息
LEFT OUTER JOIN cannot be used without a condition that is an equality of fields from both sides of the join.
特定目标
我的特殊情况是试图利用对现有dates表的子查询来计算两个日期之间的业务天数。
可复制示例
当我将子查询介绍为selected字段时,下面的查询将引发以