The Avg(scc) should do that for you, however you need understand what your GroupBy is doing.
It will only AVG for each unique row your groupby returns.
Since weight, pickupdate and pickup are part of your group by, you get a unique row for each combined value. Avg is doing what you ask.
select...