|
Archives of the TeradataForumMessage Posted: Thu, 27 Jun 2002 @ 11:40:58 GMT
JC, I'd like to think that there is a more elegant solution than the one I have provided. I'm surprise that MEDIAN still isn't a standard Teradata function. I've mentioned this to some of the Teradata folks before; however, I never submitted a formal PAC request (shame on me.) Anyhow...this should work. Select Average(averageresult.ColumnA) -- because this ColumnA could return more than 1 value (if the TotalCount is Even and the LowMiddle and HighMiddle values are unique), -- I've averaged the results from the 'AverageResult' derived table From ( Select Distinct csumlist.ColumnA From ( Select Case When TotalCount mod 2 = 0 Then TotalCount/2 Else TotalCount/2 + 1 End , TotalCount/2 + 1 From (Select Count(ColumnA) From TableA) TblCount (TotalCount) ) csumrange (LowMiddle, HighMiddle) , ( Select csum(1,ColumnA asc) , ColumnA From TableA ) csumlist (CSUMvalue, ColumnA) Where csumlist.CsumValue >= csumrange.LowMiddle and csumlist.CsumValue <= csumrange.HighMiddle ) AverageResult (ColumnA) Note...if tablecount is even, the I'm taking the average of the 2 middle datapoints (this is the statistically correct way according to what I read this morning.) Thanks, Claybourn Barrineau
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||