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

如何通过单条类SQL查询统计总记录数及布尔属性为True的数量?是否需分两次?

一次查询即可完成,无需分两次执行

你完全不需要拆分两次查询,你当前写的这条SQL语句已经可以完美满足需求了,而且效率更高。

为什么这条查询能生效?

在大多数支持布尔值运算的数据库(比如你这里看起来像是使用的Cosmos DB SQL语法)中,布尔值会被自动转换为数值参与聚合计算:

  • true 等价于 1
  • false 等价于 0

所以针对你的测试数据:

{"id":"1","boolProperty":true}、{"id":"2","boolProperty":false}

执行查询:

select count(c.id) as count, sum(c.boolProperty) as sum from c

会直接返回你预期的结果:

{"count": 2, "sum": 1}

关于分两次查询的补充

当然分两次查询(比如一次查总记录数,一次查boolProperty = true的记录数)也能得到同样的结果,但这样会增加一次数据库请求,既浪费资源又降低效率,完全没有必要。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:27:02