
    ZiH                       d Z ddlmZ ddlmZmZmZ dZdZ G d dej	                  Z
 G d d	ej	                  Zd
Z G d de          Z G d de          Z G d de          Z G d de          Z G d dee          Z G d dee          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d e          Z G d! d"e          Z G d# d$e          Z G d% d&e          Z G d' d(e          Z G d) d*e          Z G d+ d,e          Z G d- d.e          Z G d/ d0e          Z G d1 d2e          Z d3S )4z-
Package for SQL analytic functions wrappers
    )annotations)AnalyticFunctionIgnoreNullsAnalyticFunctionWindowFrameAnalyticFunctionzTimothy Heysztheys@kayak.comc                      e Zd ZdZdS )	Preceding	PRECEDINGN__name__
__module____qualname__modifier     K/root/projects/butler/venv/lib/python3.11/site-packages/pypika/analytics.pyr   r              HHHr   r   c                      e Zd ZdZdS )	Following	FOLLOWINGNr
   r   r   r   r   r      r   r   r   zCURRENT ROWc                       e Zd Z fdZ xZS )Rankc                :     t                      j        di | d S )NRANK)r   super__init__selfkwargs	__class__s     r   r   zRank.__init__   s&    **6*****r   r   r   r   r   __classcell__r    s   @r   r   r      s8        + + + + + + + + +r   r   c                       e Zd Z fdZ xZS )	DenseRankc                :     t                      j        di | d S )N
DENSE_RANK)r'   r   r   s     r   r   zDenseRank.__init__"   &    0000000r   r!   r#   s   @r   r%   r%   !   8        1 1 1 1 1 1 1 1 1r   r%   c                       e Zd Z fdZ xZS )	RowNumberc                :     t                      j        di | d S )N
ROW_NUMBER)r-   r   r   s     r   r   zRowNumber.__init__'   r(   r   r!   r#   s   @r   r+   r+   &   r)   r   r+   c                       e Zd Z fdZ xZS )NTilec                >     t                      j        d|fi | d S )NNTILEr   r   termr   r    s      r   r   zNTile.__init__,   *    $11&11111r   r!   r#   s   @r   r/   r/   +   8        2 2 2 2 2 2 2 2 2r   r/   c                       e Zd Z fdZ xZS )
FirstValuec                B     t                      j        dg|R i | d S )NFIRST_VALUEr   r   termsr   r    s      r   r   zFirstValue.__init__1   s0    9999&99999r   r!   r#   s   @r   r7   r7   0   s8        : : : : : : : : :r   r7   c                       e Zd Z fdZ xZS )	LastValuec                B     t                      j        dg|R i | d S )N
LAST_VALUEr   r:   s      r   r   zLastValue.__init__6   s0    888888888r   r!   r#   s   @r   r=   r=   5   s8        9 9 9 9 9 9 9 9 9r   r=   c                       e Zd Z fdZ xZS )Medianc                >     t                      j        d|fi | d S )NMEDIANr   r2   s      r   r   zMedian.__init__;   *    422622222r   r!   r#   s   @r   rA   rA   :   8        3 3 3 3 3 3 3 3 3r   rA   c                       e Zd Z fdZ xZS )Avgc                >     t                      j        d|fi | d S )NAVGr   r2   s      r   r   zAvg.__init__@   *    ///////r   r!   r#   s   @r   rG   rG   ?   8        0 0 0 0 0 0 0 0 0r   rG   c                       e Zd Z fdZ xZS )StdDevc                >     t                      j        d|fi | d S )NSTDDEVr   r2   s      r   r   zStdDev.__init__E   rD   r   r!   r#   s   @r   rM   rM   D   rE   r   rM   c                       e Zd Z fdZ xZS )	StdDevPopc                >     t                      j        d|fi | d S )N
STDDEV_POPr   r2   s      r   r   zStdDevPop.__init__J   s*    t66v66666r   r!   r#   s   @r   rQ   rQ   I   s8        7 7 7 7 7 7 7 7 7r   rQ   c                       e Zd Z fdZ xZS )
StdDevSampc                >     t                      j        d|fi | d S )NSTDDEV_SAMPr   r2   s      r   r   zStdDevSamp.__init__O   s*    7777777r   r!   r#   s   @r   rU   rU   N   s8        8 8 8 8 8 8 8 8 8r   rU   c                       e Zd Z fdZ xZS )Variancec                >     t                      j        d|fi | d S )NVARIANCEr   r2   s      r   r   zVariance.__init__T   *    T44V44444r   r!   r#   s   @r   rY   rY   S   8        5 5 5 5 5 5 5 5 5r   rY   c                       e Zd Z fdZ xZS )VarPopc                >     t                      j        d|fi | d S )NVAR_POPr   r2   s      r   r   zVarPop.__init__Y   s*    D33F33333r   r!   r#   s   @r   r_   r_   X   s8        4 4 4 4 4 4 4 4 4r   r_   c                       e Zd Z fdZ xZS )VarSampc                >     t                      j        d|fi | d S )NVAR_SAMPr   r2   s      r   r   zVarSamp.__init__^   r\   r   r!   r#   s   @r   rc   rc   ]   r]   r   rc   c                       e Zd Z fdZ xZS )Countc                >     t                      j        d|fi | d S )NCOUNTr   r2   s      r   r   zCount.__init__c   r4   r   r!   r#   s   @r   rg   rg   b   r5   r   rg   c                       e Zd Z fdZ xZS )Sumc                >     t                      j        d|fi | d S )NSUMr   r2   s      r   r   zSum.__init__h   rJ   r   r!   r#   s   @r   rk   rk   g   rK   r   rk   c                       e Zd Z fdZ xZS )Maxc                >     t                      j        d|fi | d S )NMAXr   r2   s      r   r   zMax.__init__m   rJ   r   r!   r#   s   @r   ro   ro   l   rK   r   ro   c                       e Zd Z fdZ xZS )Minc                >     t                      j        d|fi | d S )NMINr   r2   s      r   r   zMin.__init__r   rJ   r   r!   r#   s   @r   rs   rs   q   rK   r   rs   c                       e Zd Z fdZ xZS )Lagc                B     t                      j        dg|R i | d S )NLAGr   r   argsr   r    s      r   r   zLag.__init__w   s0    000000000r   r!   r#   s   @r   rw   rw   v   r)   r   rw   c                       e Zd Z fdZ xZS )Leadc                B     t                      j        dg|R i | d S )NLEADr   rz   s      r   r   zLead.__init__|   s0    1$111&11111r   r!   r#   s   @r   r}   r}   {   r5   r   r}   N)!__doc__
__future__r   pypika.termsr   r   r   
__author__	__email__Edger   r   CURRENT_ROWr   r%   r+   r/   r7   r=   rA   rG   rM   rQ   rU   rY   r_   rc   rg   rk   ro   rs   rw   r}   r   r   r   <module>r      s0    # " " " " "          
	    +0       +0    + + + + + + + +
1 1 1 1 1  1 1 1
1 1 1 1 1  1 1 1
2 2 2 2 2 2 2 2
: : : : :,.I : : :
9 9 9 9 9+-H 9 9 9
3 3 3 3 3 3 3 3
0 0 0 0 0
% 0 0 0
3 3 3 3 3( 3 3 3
7 7 7 7 7+ 7 7 7
8 8 8 8 8, 8 8 8
5 5 5 5 5* 5 5 5
4 4 4 4 4( 4 4 4
5 5 5 5 5) 5 5 5
2 2 2 2 2' 2 2 2
0 0 0 0 0
% 0 0 0
0 0 0 0 0
% 0 0 0
0 0 0 0 0
% 0 0 0
1 1 1 1 1
 1 1 1
2 2 2 2 2 2 2 2 2 2r   