株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

登場するカラムを全て、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;

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

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