登場するカラムを全て、VARCHARに変換し、結合します。
それをGroupByでまとめてカウントすることで、重複しているレコードを探し出します。
サンプルはPestroです。
COALESCEをつけているのは、値がNULLの場合はCONCATした結果もNULLになってしまうので。

SELECT
    CONCAT(
        COALESCE(json_format(CAST(order_info AS JSON)), ''),
        COALESCE(CAST(order_date AS VARCHAR), ''),
        COALESCE(CAST(customer_id AS VARCHAR), '')
    ) AS concat_value,
    COUNT(*)
FROM "sample_db"."order_table"
GROUP BY 
    CONCAT(
        COALESCE(json_format(CAST(order_info AS JSON)), ''),
        COALESCE(CAST(order_date AS VARCHAR), ''),
        COALESCE(CAST(customer_id AS VARCHAR), '')
    )
HAVING COUNT(*) >= 2;

<スポンサーリンク>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)