Как преобразовать этот запрос SQL Server 2016 в BigQuery - PullRequest
1 голос
/ 14 февраля 2020

Для открытых данных: [bigquery-publi c -data: stackoverflow.posts_questions] мне нравится получать статистику всех доступных тегов, и я использую lagacy SQL Диалект:

SELECT tags AS Category, COUNT(*) AS TotalCat
FROM [bigquery-public-data:stackoverflow.posts_questions]
CROSS JOIN split(tags, '|') AS ss
GROUP BY ss.tags

Грамматически правильно в SQL Server 2016, но не принято в BigQuery, ошибка видна ниже:

enter image description here

Может кто-нибудь помочь, пожалуйста?

ОБНОВЛЕНИЕ

Спасибо, Михаил Берлянт, интересная находка:

Здесь, в StackOverFlow, топ-10 тегов следующие:

enter image description here

А ниже приведена простая круговая диаграмма в DataStudio:

enter image description here

1 Ответ

1 голос
/ 14 февраля 2020

Ниже для BigQuery Standard SQL

#standardSQL
SELECT Category, COUNT(*) AS TotalCat
FROM `bigquery-public-data.stackoverflow.posts_questions`
CROSS JOIN UNNEST(SPLIT(tags, '|')) AS Category
GROUP BY Category   

Я понял, что вы просили версию для Legacy SQL - см. Ниже

#legacySQL
SELECT Category, COUNT(1) AS TotalCat
FROM (
  SELECT SPLIT(tags, '|') AS Category
  FROM [bigquery-public-data:stackoverflow.posts_questions]
)
GROUP BY Category
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...