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

如何使用SQL计算两个计数的比值,统计价格低于10的玩具占比

实现方案

假设你的数据表名为toys,包含toy(玩具名称)和price(价格)两列,以下是兼容所有主流SQL数据库的通用写法:

SELECT 
  (SUM(CASE WHEN price < 10 THEN 1 ELSE 0 END) * 100.0 / COUNT(*)) AS low_price_percentage
FROM toys;

逻辑说明

  • SUM(CASE WHEN price < 10 THEN 1 ELSE 0 END) 统计所有价格低于10的玩具总数量
  • 乘以100.0而非整数100,是为了避免部分数据库的整数除法截断问题,保证结果返回浮点型的百分比数值
  • 除以COUNT(*)即全部玩具的总数量,最终得到占比

如果你使用的是PostgreSQL等支持FILTER语法的数据库,可以用更简洁的写法:

SELECT 
  (COUNT(*) FILTER (WHERE price < 10) * 100.0 / COUNT(*)) AS low_price_percentage
FROM toys;

运行结果

针对你提供的样例数据,上述语句返回结果为50.0,即符合条件的玩具占比为50%。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:09:04