跳到主要内容

COUNT / SELECT COUNT(*)

说明

对应 SDK 方法:query

语法

{ COUNT | SELECT COUNT(*) } FROM collection_name
[PARTITION partition_name] [WHERE scalar_condition]
[WITH (option = value [, ...])];

统计总数 (Count)

使用 COUNT FROM ...SELECT COUNT(*) FROM ... 查询集合或分区的记录总数,两者映射同一个 Milvus 原生计数请求,不遍历客户端结果来计数。 结果是一行 COUNT(BIGINT),用 rs.getLong("COUNT") 获取;空匹配返回 0。可在末尾用 WITH 指定查询级选项ignore_growing=true 计数同样排除 growing segments。

-- 查询全表总数
count from table_name;
SELECT COUNT(*) FROM table_name;

-- 查询指定分区的总数
COUNT FROM table_name PARTITION partition_name;

-- 带条件过滤的总数 (支持标量过滤)
count from table_name where age > 18;

聚合与去重限制

支持对标量条件的匹配记录执行 COUNT(*);构造器 API 的 queryForCount() 也可使用。

不支持 COUNT(field)COUNT(DISTINCT field)DISTINCTGROUP BYSUMMAX,也不能在同一查询中混合统计值与普通字段。这些限制同样适用于构造器 API 生成的语句。

向量范围查询不能使用 COUNT。需要将相似度搜索结果按类别分组时,使用向量分组搜索;它返回匹配实体,不返回每组的统计值。