【问题标题】:SQL COUNT GROUP BY multiple tablesSQL COUNT GROUP BY 多个表
【发布时间】:2016-06-27 20:31:20
【问题描述】:

我有 10 多个表,它们都有一列“错误消息”。每个错误消息都有一个唯一的 ID。我需要编写一个脚本来返回所有表之间最常见的 5 个错误。这是当前结构的示例以及所需的结果。

表格

Table 1
**Error Message        
     Mes 1              
     Mes 2                
     Mes 3                    

Table 2
**Error Message     
     Mes 1
     Mes 2            
     Mes 3               
     Mes 4
     Mes 4 
     Mes 4 
     Mes 4                       

Table 3
**Error Message                         
     Mes 5
     Mes 1                 
     Mes 6
     Mes 2                

想要的结果

**Error Message      Error Count**     
     Mes 4                4
     Mes 1                3
     Mes 2                3
     Mes 3                2
     Mes 5                1  

【问题讨论】:

    标签: sql join count group-by


    【解决方案1】:
    select errMsg, count(*) as errCnt
    from
    (
        select errMsg from table1
        union all 
        select errMsg from table2
        union all 
        select errMsg from table3
        ...
    ) tmp
    group by errMsg
    order by count(*) desc
    

    根据您的数据库引擎添加 limit 5top 5ROWNUM <= 5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2012-07-18
      • 2011-02-03
      • 2014-11-07
      • 1970-01-01
      相关资源
      最近更新 更多