PostgreSQL 8.4 ROW_NUMBER()函数

ROW_NUMBER() OVER (PARTITION BY A ORDER BY A DESC) 是一个标准的SQL窗口函数,应该在PostgreSQL 8.4及以上版本中都可以使用。PostgreSQL 14以下的版本也支持这个功能。

以下是一些相关信息:

  • PostgreSQL 8.4引入了窗口函数,包括ROW_NUMBER()。
  • ROW_NUMBER()函数用于为结果集中的每一行分配一个唯一的序号。
  • PARTITION BY子句用于将结果集划分为分区,ORDER BY子句用于指定每个分区内的行的顺序。
    因此,ROW_NUMBER() OVER (PARTITION BY A ORDER BY B DESC) 在PostgreSQL 14以下的版本中是可以使用的。
SELECT id_card, max_event_num AS event_num, argMax(id, event_num) AS id, argMax(case_no, event_num) AS case_no, argMax(case_name, event_num) AS case_name, argMax(person_name, event_num) AS person_name, argMax(app_name, event_num) AS app_name, argMax(collect_id, event_num) AS collect_id, argMax(from_collect_id, event_num) AS from_collect_id, argMax(account, event_num) AS account, argMax(account_nick, event_num) AS account_nick, argMax(self_account, event_num) AS self_account, argMax(self_account_nick, event_num) AS self_account_nick, argMax(right_account, event_num) AS right_account, argMax(right_account_nick, event_num) AS right_account_nick, argMax(label_target_code, event_num) AS label_target_code, groupArray(DISTINCT case_no || ':' || case_name) AS case_info_list_str, groupArray(DISTINCT person_name || '|' || from_collect_id) AS person_info_list_str FROM ( SELECT *, row_number() OVER (PARTITION BY from_collect_id ORDER BY event_num DESC) AS rn FROM ph_eeanalysis.yx_label_trace_case_network FINAL WHERE tnt = 'tiantai' AND collect_id = '331023202505291000013' AND rule_code = '07000020101' AND account = 'wxid_r0u94i5by82921' AND from_collect_id != collect_id ) AS filtered WHERE rn = 1 GROUP BY id_card, max_event_num ORDER BY event_num DESC LIMIT 10 OFFSET 0; 你看我这个运行报错怎么给我处理,能不能给我解决好,SQL 错误 [22000]: Code: 184. DB::Exception: Aggregate function argMax(case_no, max_event_num) is found inside another aggregate function in query: While processing argMax(case_no, max_event_num AS event_num) AS case_no. (ILLEGAL_AGGREGATION) (version 21.11.8.4 (official build))
最新发布
07-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunquantong

你的鼓励是我发布的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值