Advanced SQL: Using Mean(), Median(), STATS_MODE(), MAX() and MIN()

365 Days of Daily Coding: Day 126

30 more puzzles to go for. Wow! I am realising that time flows so fast. I cannot wait to try the Serious SQL Questions. There are weekly training session happening for those who bought the course. The first session I couldn’t attend as I had a conflicting appointment however, I am hoping that I can make it to the second one.

Puzzle 10: Mean, Median, Mode and Range

I tried the above solution in live oracle environment here.

WITH temp AS (
SELECT 5 AS Data FROM DUAL UNION ALL
SELECT 6 AS Data FROM DUAL UNION ALL 
SELECT 10 AS Data FROM DUAL UNION ALL
SELECT 10 AS Data FROM DUAL UNION ALL 
SELECT 13 AS Data FROM DUAL UNION ALL
SELECT 14 AS Data FROM DUAL UNION ALL
SELECT 17 AS Data FROM DUAL UNION ALL
SELECT 20 AS Data FROM DUAL UNION ALL
SELECT 81 AS Data FROM DUAL UNION ALL
SELECT 90 AS Data FROM DUAL UNION ALL
SELECT 5 AS Data FROM DUAL)

SELECT ROUND(AVG(Data),2) AS MEAN, MEDIAN(Data) AS MEDIAN, 
Stats_Mode(Data) AS MODES, MAX(Data) - MIN(Data) AS Range 
FROM temp;

Leave a comment