如何在Azure Application Insights中查找非唯一/重复消息?
查找traces表中的重复消息
我的traces表中有如下消息:
Incoming transaction: 0504250624105104 validated
Incoming transaction: 0504250624105604 validated
Incoming transaction: 0504250624105604 validated
Incoming transaction: 0504250624105304 validated
需要查询出所有非唯一的重复消息,最终仅返回:
Incoming transaction: 0504250624105604 validated
解决方案
假设存储消息的字段名为message,可以通过以下方式实现需求:
仅返回去重后的重复消息内容
执行这条SQL语句:
SELECT message FROM traces GROUP BY message HAVING COUNT(*) > 1;
逻辑说明:通过GROUP BY message按消息内容分组,再用HAVING COUNT(*) > 1筛选出出现次数超过1次的分组,也就是重复的消息。
返回所有重复的行(包含每条重复记录)
如果需要列出所有重复出现的行,而非仅去重后的内容,可使用关联查询:
SELECT t.message FROM traces t INNER JOIN ( SELECT message FROM traces GROUP BY message HAVING COUNT(*) > 1 ) duplicated ON t.message = duplicated.message;
内容的提问来源于stack exchange,提问作者Bhav
相关产品推荐
相关产品推荐

