ホームページ >データベース >mysql チュートリアル >再帰 SQL クエリでは、最小製品 ID に基づいて製品の一致をどのようにグループ化できますか?
SQL Server での再帰クエリ
データ アナリストは、製品の一致を含むテーブルを目的のグループ化テーブルに変換する際に困難に遭遇します。目的は、「groups」という名前の新しいテーブルを派生することです。各グループは、その構成製品の最小製品 ID で表されます。
これを実現するには、SQL の再帰機能を利用できます。共通テーブル式 (CTE) を使用した解決策は次のとおりです。
;WITH CTE AS ( SELECT DISTINCT M1.Product_ID Group_ID, M1.Product_ID FROM matches M1 LEFT JOIN matches M2 ON M1.Product_Id = M2.matching_Product_Id WHERE M2.matching_Product_Id IS NULL UNION ALL SELECT C.Group_ID, M.matching_Product_Id FROM CTE C JOIN matches M ON C.Product_ID = M.Product_ID ) SELECT * FROM CTE ORDER BY Group_ID
CTE は、一致する製品がない行から始まる再帰クエリを定義します。その後、追加の一致する製品を特定し、最小の製品 ID に基づいてそれらをグループ化します。再帰の深さは、OPTION(MAXRECURSION) 句を使用して制御できます。
このソリューションは、指定された基準に従って、製品の一致を効果的にグループに集約します。
以上が再帰 SQL クエリでは、最小製品 ID に基づいて製品の一致をどのようにグループ化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。