Вторник, 7 Ноября 2023
Прошел курс интродакшн в sql до конца. Итого распишу что изучил:
SQL
SELECT - выбрать столбцы, * - все колонки
FROM - из какой базы
WHERE - отфильтровать
SELECT city
FROM `bigquery-public-data.openaq.global_air_quality`
WHERE country = 'US'
SELECT *
FROM `bigquery-public-data.openaq.global_air_quality`
WHERE country = 'US'
GROUP BY - сгрупировать по столбцу
HAVING - тот же WHERE, только для групп, чтобы отфильтровать только нужные группы
COUNT - посчитать количество строк, COUNT(1) - посчитать количество строк в каждой группе
SELECT parent, COUNT(id)
FROM `bigquery-public-data.hacker_news.comments`
GROUP BY parent
HAVING COUNT(id) > 10
SELECT parent, COUNT(1) AS NumPosts
FROM `bigquery-public-data.hacker_news.comments`
GROUP BY parent
HAVING COUNT(1) > 10
ORDER BY - сортировать, DESC - в убывающем порядке
EXTRACT - выбрать данные из данных, например день или месяц из даты
SELECT COUNT(consecutive_number) AS num_accidents,
EXTRACT(DAYOFWEEK FROM timestamp_of_crash) AS day_of_week
FROM `bigquery-public-data.nhtsa_traffic_fatalities.accident_2015`
GROUP BY day_of_week
ORDER BY num_accidents DESC
AS - дать другое имя колонке
WITH - создать кастомную таблицу, к которой потом можно будет обращаться в этом запросе, для удобства
WITH time AS
(
SELECT DATE(block_timestamp) AS trans_date
FROM `bigquery-public-data.crypto_bitcoin.transactions`
)
SELECT COUNT(1) AS transactions, trans_date
FROM time
GROUP BY trans_date
ORDER BY trans_date
INNER JOIN - обьединить таблицы
ON - по какой колонке склеивать таблицы
SELECT L.license, COUNT(1) AS number_of_files
FROM `bigquery-public-data.github_repos.sample_files` AS sf
INNER JOIN `bigquery-public-data.github_repos.licenses` AS L
ON sf.repo_name = L.repo_name
GROUP BY L.license
ORDER BY number_of_files DESC
Big Query python
Так в бигквери можно распечатать все колонки в базе
from google.cloud import bigquery
client = bigquery.Client()
dataset_ref = client.dataset("openaq", project="bigquery-public-data")
dataset = client.get_dataset(dataset_ref)
print([table for table in list(client.list_tables(dataset))])
Так получить таблицу и перевести ее в датафрейм
table_ref = dataset_ref.table("global_air_quality")
table = client.get_table(table_ref)
client.list_rows(table, max_results=5).to_dataframe()
Сертификат курса
Далее начну изучать компьютерное зрение