BigQuery: как упростить этот SQL - PullRequest
0 голосов
/ 06 ноября 2018

Это может быть не только BigQuery, но и SQL в целом.

У меня есть этот SQL, и я хочу исключить, когда 1-е поле («код») имеет значение NULL.

SELECT REGEXP_EXTRACT(data, r'#\d+') code, COUNT(1)
FROM mydataset.mytable
GROUP BY 1

Это то, что я нашел работающим:

SELECT REGEXP_EXTRACT(data, r'#\d+') code, COUNT(1)
FROM mydataset.mytable
WHERE REGEXP_EXTRACT(data, r'#\d+') is not NULL
GROUP BY 1

Это не работает:

SELECT REGEXP_EXTRACT(data, r'#\d+') code, COUNT(1)
FROM mydataset.mytable
WHERE code is not NULL
GROUP BY 1

Я могу использовать то, что я нашел, но мне интересно, есть ли более элегантный способ сделать то же самое. Я думаю, я могу добавить еще один внешний SELECT, но это не то, что я хочу.

1 Ответ

0 голосов
/ 06 ноября 2018
SELECT REGEXP_EXTRACT(data, r'#\d+') code, COUNT(1)
FROM mydataset.mytable
GROUP BY 1
HAVING code IS NOT NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...