SELECT orderDate::date as order_date
, case when date_part('dayofweek', orderDate::date) == 0 then 'Sunday'
when date_part('dayofweek', orderDate::date) == 1 then 'Monday'
when date_part('dayofweek', orderDate::date) == 2 then 'Tuesday'
when date_part('dayofweek', orderDate::date) == 3 then 'Wednesday'
when date_part('dayofweek', orderDate::date) == 4 then 'Thursday'
when date_part('dayofweek', orderDate::date) == 5 then 'Friday'
when date_part('dayofweek', orderDate::date) == 6 then 'Saturday'
end as day_of_week
, products.Category as category
, products.Name || ' ' || products.Size as name
, max(products.Price)::int as price
, count(distinct orders.id) as orders
, sum(products.Price::int)::int as revenue
FROM orders
JOIN order_items
ON orders.id = order_items.orderID
JOIN products
ON order_items.SKU = products.SKU
GROUP BY 1, 2, 3, 4
ORDER BY 1, 3