Sql Seu rank对组中的每一行进行排序,并按日期为最后一行设置1。Sayan,你是金色的,伙计!这正是我需要的!优秀的非常感谢!太好了,谢谢,如果答案对你有效,请将其标记为正确答案:当然,伙计,已经标记了:-我想更改的一件事-我在哪里可以只包括版本为1的用
Sql Seu rank对组中的每一行进行排序,并按日期为最后一行设置1。Sayan,你是金色的,伙计!这正是我需要的!优秀的非常感谢!太好了,谢谢,如果答案对你有效,请将其标记为正确答案:当然,伙计,已经标记了:-我想更改的一件事-我在哪里可以只包括版本为1的用,sql,oracle,compare,version,rows,Sql,Oracle,Compare,Version,Rows,Seu rank对组中的每一行进行排序,并按日期为最后一行设置1。Sayan,你是金色的,伙计!这正是我需要的!优秀的非常感谢!太好了,谢谢,如果答案对你有效,请将其标记为正确答案:当然,伙计,已经标记了:-我想更改的一件事-我在哪里可以只包括版本为1的用户!=版本号2?显然,将其放在WHERE子句后的底部是行不通的。@天行者,你说的是条件聚合还是标准聚合?按用户id进行分区,当上次更新>=date'2020-03-01'时,则1个或2个结束将数据集按每个用户id分为2个组。\u-id:一个用于
Seu rank对组中的每一行进行排序,并按日期为最后一行设置1。Sayan,你是金色的,伙计!这正是我需要的!优秀的非常感谢!太好了,谢谢,如果答案对你有效,请将其标记为正确答案:当然,伙计,已经标记了:-我想更改的一件事-我在哪里可以只包括版本为1的用户!=版本号2?显然,将其放在WHERE子句后的底部是行不通的。@天行者,你说的是条件聚合还是标准聚合?按用户id进行分区,当上次更新>=date'2020-03-01'时,则1个或2个结束将数据集按每个用户id分为2个组。\u-id:一个用于2020-03-01之前的行,另一个>=2020-03-01,然后对组中的每一行进行排序,并按日期为最后一行设置1。
SELECT
cur.user_id,
cur.version_number,
cur.last_update,
(cur.last_update- prv.last_update)
FROM
security_privileges prv
INNER JOIN security_privileges cur
ON cur.version_number = prv.version_number +2
select user_id, max_vn, max_vn_pre,
sum(case when version_number = max_vn then 1 else 0 end) as max_vn_cnt,
sum(case when version_number = max_vn_pre then 1 else 0 end) as max_vn_pre_cnt
from (select sp.*,
max(version_number) over (partition by user_id) as max_vn,
max(case when last_update < date '2020-03-01' then version_number end) over (partition by user_id) as max_vn_pre
from security_privileges sp
) sp
group by user_id, max_vn, max_vn_pre;
USER_ID VERSION_NUMBER1 VERSION_NUMBER2 CNT1 CNT2 SEC_PRIV_IDS1 SEC_PRIV_IDS2
---------- --------------- --------------- ---------- ---------- ---------------------------------------- --------------------------------------------------
9867 14 16 6 8 20003,20004,20011,20046,20059,20069 20002,20003,20004,20011,20045,20046,20059,20069
USER_ID GRP VERSION_NUMBER LAST_UPDATE CNT SEC_PRIV_IDS
---------- ---------- -------------- ------------------- ---------- --------------------------------------------------
9867 1 16 2020-08-31 00:00:00 6 20003,20004,20011,20046,20059,20069
9867 2 14 2017-06-28 00:00:00 8 20002,20003,20004,20011,20045,20046,20059,20069