You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于近3个月频次的ID维度IP排名需求

按ID维度对IP登录频次进行排名的实现方案

需求说明

  • 按每个ID分组,基于近3个月内的IP登录频次(即Count_of_Logins_Three_Months_Prior字段)进行排名
  • 频次最高的IP排名为1,频次越低排名越靠后
  • 若多个IP的登录频次相同,则分配相同排名(并列排名后,后续排名不会跳跃,如两个并列第1,下一个为第2)

实现代码(SQL)

不同SQL方言的窗口函数语法略有差异,以下是主流数据库的实现方式:

MySQL 8.0+/PostgreSQL/SQL Server

SELECT
    ID,
    Login_TS_Three_Months_Prior,
    Login_TS,
    IP,
    Count_of_Logins_Three_Months_Prior,
    DENSE_RANK() OVER (PARTITION BY ID ORDER BY Count_of_Logins_Three_Months_Prior DESC) AS IP_Ranking
FROM
    你的输入表名;

说明:如果需要跳跃式排名(如两个并列第1后,下一个为第3),可将DENSE_RANK()替换为RANK()函数

旧版MySQL(无窗口函数)

SELECT
    t1.ID,
    t1.Login_TS_Three_Months_Prior,
    t1.Login_TS,
    t1.IP,
    t1.Count_of_Logins_Three_Months_Prior,
    (SELECT COUNT(DISTINCT t2.Count_of_Logins_Three_Months_Prior)
     FROM 你的输入表名 t2
     WHERE t2.ID = t1.ID
       AND t2.Count_of_Logins_Three_Months_Prior >= t1.Count_of_Logins_Three_Months_Prior) AS IP_Ranking
FROM
    你的输入表名 t1
ORDER BY
    t1.ID, IP_Ranking;

示例输入输出表

输入表

IDLogin_TS_Three_Months_PriorLogin_TSIPCount_of_Logins_Three_Months_Prior
1012024-01-01 00:00:002024-04-05 08:30:00192.168.1.115
1012024-01-01 00:00:002024-04-03 10:15:00192.168.1.215
1012024-01-01 00:00:002024-04-01 14:20:00192.168.1.38
1022024-01-10 00:00:002024-04-06 09:00:0010.0.0.122
1022024-01-10 00:00:002024-04-04 16:45:0010.0.0.212
1022024-01-10 00:00:002024-04-02 11:30:0010.0.0.312

输出表(使用DENSE_RANK()的结果)

IDLogin_TS_Three_Months_PriorLogin_TSIPCount_of_Logins_Three_Months_PriorIP_Ranking
1012024-01-01 00:00:002024-04-05 08:30:00192.168.1.1151
1012024-01-01 00:00:002024-04-03 10:15:00192.168.1.2151
1012024-01-01 00:00:002024-04-01 14:20:00192.168.1.382
1022024-01-10 00:00:002024-04-06 09:00:0010.0.0.1221
1022024-01-10 00:00:002024-04-04 16:45:0010.0.0.2122
1022024-01-10 00:00:002024-04-02 11:30:0010.0.0.3122

内容的提问来源于stack exchange,提问作者Stanleyrr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:30:24