w1_sqlite_aggregation - steelbear/HMG_Softeer_DE GitHub Wiki

SQLite μ§‘κ³„ν•¨μˆ˜ μ •μ˜ν•˜κΈ°

  • SQLiteλŠ” ν”„λ‘œμ‹œμ €λ§Œ μ •μ˜ν•  수 μ—†μ§€, ν•¨μˆ˜λŠ” μ •μ˜κ°€λŠ₯
  • Connection.create_aggretationν•¨μˆ˜λ‘œ μ •μ˜
class Top5Mean:
    '''
    μƒμœ„ 5개의 평균을 κ΅¬ν•˜λŠ” SQLite 집계 ν•¨μˆ˜
    '''
    def __init__(self):
        self.nums = []
    
    def step(self, value): # 각 rowλ§ˆλ‹€ μ§„ν–‰
        self.nums.append(value)

    def finalize(self): # 집계 κ²°κ³Ό 뽑아내기
        self.nums.sort(reverse=True)

        return sum(self.nums[:5]) / 5.0


conn.create_aggregate('top5mean', 1, Top5Mean) # (SQLλ‚΄ ν•¨μˆ˜ 이름, νŒŒλΌλ―Έν„° 수, 파이썬 객체)