Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/variable-definition/agg/min_agg/ Documentation version: v5.3.2 # MinAgg MinAgg 聚合值变量(`MinAgg`)用于保存所有类型为`T`的输入中的最小值。如需保存最大值,请参见 [MaxAgg](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/variable-definition/agg/max_agg/)。 ## 声明语法 语法图源码 min_agg_declaration ```` min_agg_declaration ::= 'NODE'? 'VALUE' aggregator_value_variable 'MinAgg' '<' ('INT8'|'INT16'|'INT32'|'INT64'|'FLOAT'|'DOUBLE'|'STRING') '>' '=' value_expression ```` 关于声明语法中参数的详细信息,请参见[参数](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/variable-definition/agg/#_6)。 ## 初始值 从声明语法中可见,声明时必须指定初始值。 ## 输入类型与支持的操作 输入类型必须为声明时指定的类型`T`。 支持[赋值与聚合](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/set/)操作。 ## 返回类型 ```` MinAgg -> T ```` 返回类型与声明时指定的类型`T`相同。 ## 示例 以下示例基于 [CREATE TEMPORARY GRAPH](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/graph-projection/create/) 中创建的临时图`#movie_temporary_graph`。 ### 全局 MinAgg 聚合值变量 ```` ''' USE #movie_temporary_graph { VALUE global_min_int MinAgg = 100 VALUE global_min_double MinAgg = 100.0 VALUE global_min_string MinAgg = "zzz" // INT 类型:取最小整数值 SET @global_min_int += 30 // min: 30(30 < 100,更新为 30) SET @global_min_int += 10 // min: 10(10 < 30,更新为 10) SET @global_min_int += 50 // min: 10(50 > 10,保留 10) // DOUBLE 类型:取最小浮点数值 SET @global_min_double += 35.5 // min: 35.5(35.5 < 100.0,更新为 35.5) SET @global_min_double += 12.8 // min: 12.8(12.8 < 35.5,更新为 12.8) SET @global_min_double += 58.3 // min: 12.8(58.3 > 12.8,保留 12.8) // STRING 类型:按字节的字典序取最小字符串 SET @global_min_string += "cherry" // min: "cherry"("cherry" < "zzz",更新为 "cherry") SET @global_min_string += "apple" // min: "apple"("apple" < "cherry",更新为 "apple") SET @global_min_string += "banana" // min: "apple"("banana" > "apple",保留 "apple") RETURN @global_min_int, @global_min_double, @global_min_string } ''' ```` 返回: ```` +-----------------+--------------------+--------------------+ | @global_min_int | @global_min_double | @global_min_string | +-----------------+--------------------+--------------------+ | 10 | 12.8 | apple | +-----------------+--------------------+--------------------+ ```` ### 点绑定 MinAgg 聚合值变量 ```` ''' USE #movie_temporary_graph { NODE VALUE node_min MinAgg = 100 MATCH (a@User WHERE a.id IN [1,3,4])-[w@Watch]->(b@Movie) PER PATH { // 追踪每个用户在 Watch 边上的最低评分 SET a.@node_min += w.rate } PER NODE (a) { LOG_INFO("a.id: ", a.id, " a.@node_min: ", a.@node_min) } } ''' ```` 返回: ```` Log: 2025-08-22T03:57:02.248668 INFO - a.id: 4 a.@node_min: 1 2025-08-22T03:57:02.248668 INFO - a.id: 1 a.@node_min: 4 2025-08-22T03:57:02.248668 INFO - a.id: 3 a.@node_min: 3 ````