My Bigquery SQL не будет использовать такие функции, как YEAR или CREATE или DROP - PullRequest
0 голосов
/ 26 января 2020

Я новичок в Big Query и пытаюсь понять, почему мой скрипт не работает. Скрипт ниже

DROP TEMP TABLE top1;

CREATE TEMP TABLE topl
(Language STRING,
NoofRepos INTEGER);

INSERT INTO topl
(SELECT  l.language.name Language, COUNT(*) AS NoOfRepos, 
  FROM [bigquery-public-data:github_repos.sample_repos] sr
  INNER JOIN [bigquery-public-data:github_repos.languages] l on sr.repo_name = l.repo_name
  WHERE l.language.name is NOT null
  GROUP BY language
  ORDER BY 3 desc
  LIMIT 10 );


SELECT YEAR(c.committer.date), COUNT(*)
FROM [bigquery-public-data:github_repos.sample_commits] c
INNER JOIN [bigquery-public-data:github_repos.sample_repos] sr on c.repo_name = sr.Repo_name
INNER JOIN [bigquery-public-data:github_repos.languages] l on sr.repo_name = l.repo_name
GROUP BY YEAR(c.committer.date)
WHERE l.language.name in (SELECT Language FROM topl)

Он содержит ошибки для функций 'YEAR' 'CREATE' 'DROP', и я не уверен, почему, поскольку я знаю, он поддерживает эти функции. Любая помощь будет великолепна

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Вы, вероятно, используете наследие SQL GUI. Согласно документации , Legacy SQL не поддерживает функцию DROP . У вас есть два варианта для изменения на Стандартный SQL, во-первых, это через командную строку в консоли, используя # стандарт SQL в начале вашего кода. Второй использует консоль следующим образом:

Первый шаг: enter image description here

Второй шаг: enter image description here

Кроме того, я рекомендую вам ознакомиться со всеми доступными встроенными функциями в стандарте SQL здесь .

Тем не менее, когда вы получаете ошибку в BigQuery, вы можете обратиться к этой документации для дальнейшего разъяснения, она содержит наиболее распространенные ошибки при использовании консоли.

Надеюсь, это поможет.

0 голосов
/ 26 января 2020

Вы находитесь на интерфейсе, где все еще существует устаревшее SQL.

Проверьте свои GUI или добавьте # standard SQL перед вашими запросами, также имена таблиц должны быть экранированы как

`table`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...