BigQuery - подсчитать количество столбцов - PullRequest
0 голосов
/ 27 апреля 2018

Новичок по SQL и BigQuery в целом. Как посчитать количество столбцов в BigQuery? Как видно из примера кода, запрос возвращает счетчик appName как WhitelistNames, но я хотел бы получить счетчик WhitelistNames.

SELECT
COUNT(appName) AS WhitelistNames,
  bridgeToken
FROM (
  SELECT
    bridgeToken,
    appName
  FROM
    [DB]
  GROUP BY
    bridgeToken,
    appName )
GROUP BY
  bridgeToken
ORDER BY
  WhitelistNames DESC

Текущий результат запроса:

Row UniquebridgeToken   WhitelistEntries    
1   11111               5         
2   22222               13    
3   33333               3     
4   44444               3
5   55555               3     

Но я бы хотел посчитать появление UniquebridgeToken, как показано ниже. Заранее спасибо .:

Row WhitelistEntries    BridgeCount
1   13                  1
2   5                   1
3   3                   3

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Я понимаю, что вы хотите, чтобы посчитать, сколько UniquebridgeToken имеют одинаковое количество WhitelistEntries. Я думаю, что вы ищете, это:

WITH nestedQuery AS (SELECT
    appName,
    COUNT(appName) as WhitelistEntries
FROM `project_name.dataset_name.table_name`
GROUP BY 
     price)

SELECT n.WhitelistEntries, COUNT(n.WhitelistEntries) as BridgeCount
FROM nestedQuery as n
GROUP BY n.WhitelistEntries

Вы можете прочитать о предложении WITH здесь: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#with_clause

0 голосов
/ 27 апреля 2018

Ниже приведено описание BigQuery Standard SQL, основанное на том, как я интерпретировал ваш вопрос, а именно:
для каждого bridgeToken сколько уникальных appName и сколько всего записей (строк) для этого моста

#standardSQL
SELECT 
  COUNT(DISTINCT appName) AS WhitelistNames, 
  COUNT(bridgeToken) AS BridgeCount
FROM `project.dataset.your_table`
GROUP BY bridgeToken
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...