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

求助:多表统计各ISP邮箱数量的SQL实现及错误解决

多表按MY_ISP汇总统计的正确SQL写法

你的SQL报错#1248 - Every derived table must have its own alias,核心原因是括号里的子查询(派生表)必须指定别名,而且你的逻辑没法实现按ISP分类汇总——你当前的子查询是统计每个表的MY_ISP总数,union all后只能得到各表的总数,不是按ISP分组的结果。

正确的实现思路是先把所有表的MY_ISP数据合并,再分组统计:

SELECT COUNT(`my_isp`) AS `COUNT`, `my_isp`
FROM (
    -- 依次把所有15+张表的MY_ISP字段合并,用UNION ALL保留重复数据
    SELECT `my_isp` FROM `table1`
    UNION ALL
    SELECT `my_isp` FROM `table2`
    UNION ALL
    SELECT `my_isp` FROM `table3`
    -- 在这里继续添加剩余所有表的SELECT语句,格式和上面一致
) AS combined_isp_data -- 必须给派生表加别名,解决报错问题
GROUP BY `my_isp`

补充说明:

  • 使用UNION ALL而不是UNION,因为UNION会自动去重,而你需要统计同一邮箱在多张表中的所有出现次数
  • 如果需要排除MY_ISP为空的记录,可以在每个子查询里加上WHERE my_isp IS NOT NULL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:27:07