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

GridDB Python中无法获取表格行数的问题求助

GridDB Python中无法获取表格行数的问题求助

我之前用GridDB Python SDK做聚合查询的时候,刚好踩过一模一样的坑!你遇到的问题本质是GridDB对普通查询结果和聚合查询结果的处理逻辑完全不同,咱们来一步步理清楚:

问题根源

你用SELECT COUNT(*)执行聚合查询时,返回的是AggregationResult对象,而不是普通查询里的行数据对象。这个聚合结果有专属的取值方法,不能用普通的下标row[0]、get(0)这类方式获取值,这就是各种报错的原因:

  • 'AggregationResult' object is not subscriptable:它不支持下标访问语法
  • has no attribute 'getvalue':该对象确实没有这个方法
  • CC_NO_SUCH_ELEMENT:get(0)是在查找第0列,但聚合结果并非列结构,所以会报元素不存在

解决办法

针对COUNT(*)这种返回整数类型的聚合结果,你需要用AggregationResult的get_long()方法来取值(因为COUNT返回的是长整型数值)。把你read_data函数里的COUNT查询部分改成下面的代码:

sqlSelect = f"SELECT COUNT(*) FROM {container_name}"
query = container.query(sqlSelect)
result = query.fetch()
if result.has_next():
    agg_result = result.next()
    row_count = agg_result.get_long()  # 用get_long()获取COUNT的结果
    print(f"Row count: {row_count}")
else:
    print("No rows")

额外小提示

不同聚合函数对应的取值方法不同,你可以根据返回类型匹配:

  • 计数、整数求和:用get_long()
  • 平均值、浮点类型聚合:用get_double()
  • 最大值/最小值:根据字段类型选择get_long()、get_string()、get_double()等

修改完再运行代码,就能正确输出你写入的1000条数据的行数啦!

备注:内容来源于stack exchange,提问作者dede kyuti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 08:28:02