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

SQL分组统计问题:计算Animals表各物种在3岁动物中的占比

解决方法:计算各物种在Age=3动物中的占比

别着急,折腾好几小时没搞定太正常了,咱们一步步把这个SQL问题捋清楚!

首先明确核心需求:先找到所有年龄为3的动物总数,再统计每个物种在这些动物里的数量,最后算出每个物种对应的占比。

直接上可用的SQL语句,逻辑已经验证过了:

SELECT 
    Species,
    COUNT(*) AS Count_Age3, -- 统计该物种中Age=3的动物数量
    ROUND((COUNT(*) * 100.0 / (SELECT COUNT(*) FROM Animals WHERE Age = 3)), 2) AS Percentage
FROM Animals
WHERE Age = 3 -- 只筛选年龄为3的记录
GROUP BY Species; -- 按物种分组计算

语句细节解释:

  • 子查询(SELECT COUNT(*) FROM Animals WHERE Age = 3):先算出所有Age=3的动物总数量,这是计算百分比的核心分母
  • 外层查询先筛选出Age=3的所有记录,按Species分组后统计每个组的动物数
  • ROUND(..., 2)是为了把百分比保留两位小数,让结果更直观(如果不需要保留小数,直接去掉这个函数就行)

用你提供的示例数据跑这个语句,最终结果会是这样:

SpeciesCount_Age3Percentage
Dog150.00
Cat150.00

完全匹配需求啦!如果还有其他疑问随时说~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:05:08