НачатьНачать бесплатно

Доступ к значениям предыдущей строки

Функция LAG() позволяет обращаться к строкам, предшествующим текущей.

Синтаксис функции: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

В этом упражнении вы будете использовать данную функцию в запросе. Вы проанализируете оценки шоколадных батончиков, произведённых компанией "Fruition".

Эта компания выпускает шоколад из какао, выращенного в разных регионах мира.

Ваша задача — проверить, существует ли зависимость между содержанием какао и полученной оценкой для батончиков из одного и того же места производства. Для этого вы сравните процент содержания какао в каждом батончике с аналогичным показателем батончика, получившего предыдущую оценку. Затем вычислите разницу между этими значениями и интерпретируете результаты.

Это упражнение является частью курса

Функции для работы с данными в SQL Server

Посмотреть курс

Инструкции к упражнению

  • Создайте новый столбец, в котором будет отображаться процентное содержание какао в шоколадном батончике, получившем более низкую оценку, при условии что какао поступает из того же региона (значение broad_bean_origin совпадает).
  • Создайте новый столбец с разницей между процентным содержанием какао в текущем батончике и в предыдущем.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

SELECT 
	broad_bean_origin AS bean_origin,
	rating,
	cocoa_percent,
    -- Retrieve the cocoa % of the bar with the previous rating
	___(___) 
		OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;
Редактировать и запускать код