我有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
答案 0 :(得分:4)
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 5
或top 5
或ROWNUM <= 5