In [2]:
%load_ext sql
%sql sqlite:///dataset_1.db
Out[2]:
Рассмотрим набор таблиц описывающая индустрию бубликов (bagel) bagel
, типы бубликов и компании их делающие:
- name STRING
- price FLOAT
- made_by STRING
И purchase
:
- bagel_name STRING
- franchise STRING
- date INT
- quantity INT
- purchaser_age INT
Где purchase.bagel_name
ссылается bagel.name
т purchase.franchise
на/ bagel.made_by
:
In [7]:
%sql SELECT * FROM bagel LIMIT 3;
Out[7]:
In [8]:
%sql SELECT * FROM purchase LIMIT 3;
Out[8]:
Напишите запрос для получение суммарного дохода для каждого типа бубликов, для которых средний возраст покупателя больше 18
In [ ]:
In [9]:
%sql SELECT * FROM precipitation LIMIT 5;
Out[9]:
Верните id станции, у которых средние количество осадков > 75. (попробуйте написать это вложенным запросом):
In [ ]:
перепишите в GROUP BY:
In [ ]:
Посмотрим на время выполнения
In [12]:
%time %sql SELECT DISTINCT p.station_id FROM precipitation p WHERE (SELECT AVG(precipitation) FROM precipitation WHERE station_id = p.station_id) > 75;
Out[12]:
In [13]:
%time %sql SELECT p.station_id FROM precipitation p GROUP BY p.station_id HAVING AVG(p.precipitation) > 75;
Out[13]:
An ~ 10-20x разница во времени!