groub by 与 over partition by 的区别

 

这个逻辑,写的很对。明白了这个意思。

over partition by 前面一定要用汇总函数。groub by 就可以不用。本质都是汇总

SELECT  a.*
        ,SUM(a.audit_status) OVER(PARTITION BY a.sign_type ) AS sign_type
FROM    jz_daojia.f_jz_order_common a
WHERE   dt = '${bdp.system.bizdate}'
LIMIT   1000

 

 

https://blog.csdn.net/dwt1415403329/article/details/87835383

 

 

理解 row_number  和 partition by 使用方法。

以及时间使用  ORDER BY allocation_time,没有倒序就是正常的时间。

时间递增性。2018到2019年。就是距离现在最晚的时候。

ORDER BY allocation_time DESC 。就是距离现在最近的。

 

SELECT  *
FROM    (
            SELECT  a.*
                    ,ROW_NUMBER() OVER(PARTITION BY clue_id ORDER BY allocation_time) AS asc_number
            FROM    o_jz_clue_t_allocation_record a
            WHERE   dt = '${bdp.system.bizdate}'
        ) a
WHERE   a.asc_number > 2
LIMIT   100

 

posted @ 2019-11-12 10:54  Sakura_柏  阅读(233)  评论(0)    收藏  举报