ПочатиПочніть безкоштовно

Доступ до значень з попереднього рядка

Використовуючи у запиті функцію 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;
Редагувати та запускати код