データベースに単純なテーブルがあり、ここにerror_id、error_group_id、およびmessageの列があります。メッセージと各エラーグループの発生を示すリストをUIに表示したいと思います。
エラーメッセージはわずかに異なる場合があります(たとえば、設定Xは日付で期限切れになります)。たとえば、日付は変更される可能性がありますが、グループ化に使用される定義済み定数からのハッシュであるerror_group_idは変更されません(たとえば、( AssemblyName + "設定の有効期限が切れました").GetHashCode()。
現在、メッセージ付きのグループを一覧表示できます。
SELECT message, error_group_id
FROM (SELECT error_id, message, error_group_id,
rank() OVER ( PARTITION BY error_group_id ORDER BY error_id) rank
FROM cc_errors)
WHERE rank <= 1;
出力:(ランダムに1つ選択するだけ)メッセージ、グループハッシュ。(グループごとに1回のみ)。
ただし、グループ内にある個々のエラーメッセージの数に関する情報が必要です(グループをダブルクリックすると、個々のエラーのリストを表示するウィンドウが開きます)。このSQL句の各グループの発生をカウントしたいと思います。
したがって、必要な出力は次のとおりです(グループごとに1行)。
メッセージ、グループハッシュ、グループ内のメッセージの数。
プロジェクトはデータベースとしてOracleを使用しています。
誰かがこれを手伝ってもらえますか:P