o
    Rh                     @   s  d Z ddlmZmZmZ dZdZG dd dejZG dd dejZ	d	Z
G d
d deZG dd deZG dd deZG dd deZG dd deeZG dd deeZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZG d(d) d)eZG d*d+ d+eZG d,d- d-eZG d.d/ d/eZG d0d1 d1eZd2S )3z-
Package for SQL analytic functions wrappers
    )AnalyticFunctionWindowFrameAnalyticFunctionIgnoreNullsAnalyticFunctionzTimothy Heysztheys@kayak.comc                   @      e Zd ZdZdS )	Preceding	PRECEDINGN__name__
__module____qualname__modifier r   r   R/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/pypika/analytics.pyr          r   c                   @   r   )	Following	FOLLOWINGNr   r   r   r   r   r      r   r   zCURRENT ROWc                          e Zd Z fddZ  ZS )Rankc                       t t| jdi | d S )NRANK)r   )superr   __init__selfkwargs	__class__r   r   r         zRank.__init__r	   r
   r   r   __classcell__r   r   r   r   r          r   c                       r   )	DenseRankc                    r   )N
DENSE_RANK)r"   )r   r!   r   r   r   r   r   r      r   zDenseRank.__init__r   r   r   r   r   r!      r    r!   c                       r   )	RowNumberc                    r   )N
ROW_NUMBER)r$   )r   r#   r   r   r   r   r   r   $   r   zRowNumber.__init__r   r   r   r   r   r#   #   r    r#   c                       r   )NTilec                       t t| jd|fi | d S )NNTILE)r   r%   r   r   termr   r   r   r   r   )      zNTile.__init__r   r   r   r   r   r%   (   r    r%   c                       r   )
FirstValuec                    "   t t| jdg|R i | d S )NFIRST_VALUE)r   r+   r   r   termsr   r   r   r   r   .      "zFirstValue.__init__r   r   r   r   r   r+   -   r    r+   c                       r   )	LastValuec                    r,   )N
LAST_VALUE)r   r1   r   r.   r   r   r   r   3   r0   zLastValue.__init__r   r   r   r   r   r1   2   r    r1   c                       r   )Medianc                    r&   )NMEDIAN)r   r3   r   r(   r   r   r   r   8   r*   zMedian.__init__r   r   r   r   r   r3   7   r    r3   c                       r   )Avgc                    r&   )NAVG)r   r5   r   r(   r   r   r   r   =   r*   zAvg.__init__r   r   r   r   r   r5   <   r    r5   c                       r   )StdDevc                    r&   )NSTDDEV)r   r7   r   r(   r   r   r   r   B   r*   zStdDev.__init__r   r   r   r   r   r7   A   r    r7   c                       r   )	StdDevPopc                    r&   )N
STDDEV_POP)r   r9   r   r(   r   r   r   r   G   r*   zStdDevPop.__init__r   r   r   r   r   r9   F   r    r9   c                       r   )
StdDevSampc                    r&   )NSTDDEV_SAMP)r   r;   r   r(   r   r   r   r   L   r*   zStdDevSamp.__init__r   r   r   r   r   r;   K   r    r;   c                       r   )Variancec                    r&   )NVARIANCE)r   r=   r   r(   r   r   r   r   Q   r*   zVariance.__init__r   r   r   r   r   r=   P   r    r=   c                       r   )VarPopc                    r&   )NVAR_POP)r   r?   r   r(   r   r   r   r   V   r*   zVarPop.__init__r   r   r   r   r   r?   U   r    r?   c                       r   )VarSampc                    r&   )NVAR_SAMP)r   rA   r   r(   r   r   r   r   [   r*   zVarSamp.__init__r   r   r   r   r   rA   Z   r    rA   c                       r   )Countc                    r&   )NCOUNT)r   rC   r   r(   r   r   r   r   `   r*   zCount.__init__r   r   r   r   r   rC   _   r    rC   c                       r   )Sumc                    r&   )NSUM)r   rE   r   r(   r   r   r   r   e   r*   zSum.__init__r   r   r   r   r   rE   d   r    rE   c                       r   )Maxc                    r&   )NMAX)r   rG   r   r(   r   r   r   r   j   r*   zMax.__init__r   r   r   r   r   rG   i   r    rG   c                       r   )Minc                    r&   )NMIN)r   rI   r   r(   r   r   r   r   o   r*   zMin.__init__r   r   r   r   r   rI   n   r    rI   c                       r   )Lagc                    r,   )NLAG)r   rK   r   r   argsr   r   r   r   r   t   r0   zLag.__init__r   r   r   r   r   rK   s   r    rK   c                       r   )Leadc                    r,   )NLEAD)r   rO   r   rM   r   r   r   r   y   r0   zLead.__init__r   r   r   r   r   rO   x   r    rO   N)__doc__pypika.termsr   r   r   
__author__	__email__Edger   r   CURRENT_ROWr   r!   r#   r%   r+   r1   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rG   rI   rK   rO   r   r   r   r   <module>   s6    