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

SQLite组合聚合函数:按Cluster求和后取节点最大Fx绝对值及Loadcase

SQLite查询:集群Fx求和与节点最大绝对值负载工况获取

先把你的原始数据表整理成清晰的表格形式:

原始数据表

NodeLoadcaseFxCluster
1150A
21-40A
3160B
4180C
1250A
22-50A
3280B
42-100C

接下来分两步实现你的需求,也可以根据实际场景合并成一个查询:

第一步:计算同一Cluster的Fx求和(按工况分组)

不同Loadcase是独立的工况,所以我们需要按Loadcase和Cluster分组求和,得到每个工况下各集群的总Fx值:

SELECT Loadcase, Cluster, SUM(Fx) AS Cluster_Fx_Sum
FROM your_table_name
GROUP BY Loadcase, Cluster;

执行后会得到如下结果:

LoadcaseClusterCluster_Fx_Sum
1A10
1B60
1C80
2A0
2B80
2C-100

第二步:获取每个Node的Fx绝对值最大值及对应Loadcase

这里用窗口函数RANK()给每个节点的Fx绝对值排序,选出排名第一的记录(如果有多个工况达到相同的最大绝对值,会全部列出):

WITH Node_Fx_Abs AS (
    SELECT 
        Node,
        Loadcase,
        Fx,
        ABS(Fx) AS Fx_Abs,
        RANK() OVER (PARTITION BY Node ORDER BY ABS(Fx) DESC) AS rank
    FROM your_table_name
)
SELECT Node, Loadcase, Fx, Fx_Abs AS Max_Abs_Fx
FROM Node_Fx_Abs
WHERE rank = 1;

执行结果如下:

NodeLoadcaseFxMax_Abs_Fx
115050
125050
22-5050
328080
42-100100

合并需求:结合集群求和与节点对应的最大绝对值工况

如果你需要的是每个节点对应其所在集群的求和后Fx绝对值最大的工况,可以用下面的查询,通过CTE先计算集群求和,再关联原表并排序:

WITH Cluster_Loadcase_Sum AS (
    SELECT Loadcase, Cluster, SUM(Fx) AS Cluster_Fx_Sum
    FROM your_table_name
    GROUP BY Loadcase, Cluster
),
Node_Cluster_Rank AS (
    SELECT 
        t.Node,
        cls.Loadcase,
        cls.Cluster_Fx_Sum,
        ABS(cls.Cluster_Fx_Sum) AS Abs_Cluster_Sum,
        RANK() OVER (PARTITION BY t.Node ORDER BY ABS(cls.Cluster_Fx_Sum) DESC) AS rank
    FROM your_table_name t
    JOIN Cluster_Loadcase_Sum cls ON t.Cluster = cls.Cluster AND t.Loadcase = cls.Loadcase
)
SELECT Node, Loadcase, Cluster_Fx_Sum, Abs_Cluster_Sum AS Max_Abs_Cluster_Sum
FROM Node_Cluster_Rank
WHERE rank = 1;

这个查询会得到每个节点对应的集群求和后绝对值最大的工况信息:

NodeLoadcaseCluster_Fx_SumMax_Abs_Cluster_Sum
111010
211010
328080
42-100100

注意:把上面的your_table_name替换成你实际的数据表名称哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:52:28