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

如何编写SQL计算maps_query表中各国家搜索查询的相对占比

你的写法存在多处问题,无法实现需求,具体问题和修正方案如下:

存在的问题

  • 表名引用错误:题目给出的表名为maps_query,原SQL中写的map_search不存在,执行会直接报错。
  • 统计逻辑错误:search_query是字符串类型,不能用sum()函数求和,统计单国家的搜索查询总数量应该用count(*)统计符合条件的行数。
  • 输出格式不匹配:原SQL乘了100会输出百分比数值(如13),但预期输出是0.13这类小数占比,不需要乘100。
  • 精度丢失风险:大部分数据库中两个整数做除法会默认返回整数(例如1/10会得到0而非0.1),需要先将分子转为浮点型保证计算精度。

修正后的SQL

SELECT 
    country,
    ROUND(COUNT(*) * 1.0 / COUNT(*) OVER (), 2) AS pct
FROM 
    maps_query
GROUP BY 
    country

说明:添加ROUND()函数是为了贴合示例输出的两位小数格式,如果不需要固定小数位数可以去掉该函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:06:03