Comece agoraComece grátis

Dias da semana lógicos com Hot Deck

Calcule o Valor Total da Corrida por Distância Total para cada dia da semana. Se o TripDistance for zero, use a função de imputação Hot Deck que você criou anteriormente no capítulo.

Este exercicio faz parte do curso

Escrevendo Funções e Procedures no SQL Server

Ver curso

Instruções do exercicio

  • Use DATENAME() e PickupDate para selecionar o dia da semana.
  • Use AVG() para calcular TotalAmount por TripDistance, e uma instrução CASE para selecionar TripDistance se for maior que 0. Caso contrário, use dbo.GetTripDistanceHotDeck().
  • Ordene pelo dia da semana de PickupDate, com 'Monday' aparecendo primeiro.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

SELECT
    -- Select the pickup day of week
	DATENAME(weekday, PickupDate) as DayofWeek,
    -- Calculate TotalAmount per TripDistance
	CAST(AVG(TotalAmount/
            -- Select TripDistance if it's more than 0
			CASE WHEN TripDistance > 0 THEN TripDistance
                 -- Use GetTripDistanceHotDeck()
     			 ELSE dbo.GetTripDistanceHotDeck() END) as decimal(10,2)) as 'AvgFare'
FROM YellowTripData
GROUP BY DATENAME(weekday, PickupDate)
-- Order by the PickupDate day of week
ORDER BY
     ___ ___ ___(weekday, PickupDate) = '___' THEN 1
         ___ ___(weekday, PickupDate) = '___' THEN 2
         ___ ___(weekday, PickupDate) = '___' THEN 3
         ___ ___(weekday, PickupDate) = '___' THEN 4
         ___ ___(weekday, PickupDate) = '___' THEN 5
         ___ ___(weekday, PickupDate) = '___' THEN 6
         ___ ___(weekday, PickupDate) = '___' THEN 7
END ASC;
Editar e Executar Código