Варіація за днями тижня
Чи змінюється час, потрібний для виконання запиту, залежно від дня тижня, коли цей запит було створено?
Ми можемо отримати назву дня тижня, перетворивши часовий штамп на символьні дані:
to_char(date_created, 'day')
Але символьні назви днів тижня сортуються за абеткою, а не в хронологічному порядку. Щоб отримати хронологічний порядок днів тижня з цілим значенням для кожного дня, можна використати:
EXTRACT(DOW FROM date_created)
DOW означає «day of week» — день тижня.
Ця вправа є частиною курсу
Розвідувальний аналіз даних у SQL
Інструкції до вправи
- Виберіть назву дня тижня, коли було створено запит (
date_created), якday. - Виберіть середній час між завершенням запиту (
date_completed) і створенням запиту якduration. - Згрупуйте за
day(назва дня тижня) та за цілим значенням дня тижня (використайте функцію). - Відсортуйте за цілим значенням дня тижня, використовуючи ту саму функцію, що і в
GROUP BY.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Select name of the day of the week the request was created
SELECT ___(___, ___) AS day,
-- Select avg time between request creation and completion
___(___ - ___) AS duration
FROM evanston311
-- Group by the name of the day of the week and
-- integer value of day of week the request was created
GROUP BY day, EXTRACT(___ ___ ___)
-- Order by integer value of the day of the week
-- the request was created
ORDER BY EXTRACT(___ ___ ___);