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

SQL查询优化:统计存在移动端流量的发布商全平台总页面浏览量

问题解答

思路合理性判断

你的实现逻辑是完全正确的,能准确拿到符合要求的结果,只是步骤稍显冗余,需要两次扫描原数据表,数据量较大时查询性能会有影响。

更简便的实现方案

不需要子查询嵌套、回表匹配,直接一次分组聚合即可得到结果,查询效率更高:

SELECT
  publisher_id,
  SUM(page_views) AS total_page_views
FROM 替换为你的实际表名
GROUP BY publisher_id
-- 筛选出存在移动端流量的发布商
HAVING MAX(CASE WHEN platform = 'Mobile' THEN 1 ELSE 0 END) = 1

逻辑说明

按publisher_id分组后,HAVING条件会判断每个发布商的所有记录中是否存在platform为Mobile的条目:只要存在任意一条移动端记录,MAX函数的返回值就为1,就会保留该分组,直接对分组内所有平台的page_views求和即可得到全平台总浏览量。

如果你的数据库支持BOOL_OR这类聚合函数(比如PostgreSQL、BigQuery),还可以把HAVING条件写得更简洁:

HAVING BOOL_OR(platform = 'Mobile')

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

相关产品推荐
方舟 Agent Plan

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

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