私が取り組んできたウェブサイトでは、ユーザーはテーブルにデータを送信することが許可されており、データを送信するときに、2人がデータの取得に取り組んでいるため、パートナー名を尋ねられます。私はハイスコアの表を作成しようとしています。これは、表に最も頻繁に表示されるパートナーと提出者の組み合わせ(順列ではない)である上位のパートナーシップをリストしたものです。
GROUPコマンドはこれには最適ですが、組み合わせ/順列の問題で少し問題が発生しました。現在、それらをグループ化すると、送信者とパートナーの順列のみがチェックされ、組み合わせはチェックされません。問題は、パートナーシップが1人が提出者であり、もう1人がパートナーであるということを交互に選択することが多いため、実際には、プルできるGROUPの2つの可能な順列があります。
現在、提出者とパートナーの順列の1つのハイスコアテーブルと、パートナーと提出者の順列の別のハイスコアテーブルをプルするコードがあります。パートナー=送信者または送信者=パートナーの場合、これらの結果(おそらくグループ化されておらず、順序付けされていない)を結合し、グループ化してから降順で並べ替える必要があります。
SELECT submitter, partner, COUNT(*) FROM submissions GROUP BY submitter, partner;
上記のコードは、送信者とパートナーの特定の順列のカウントを含むテーブルを返しますが、同じ2人がパートナーと送信者であり、切り替えたばかりの場合、それらは同じグループとしてカウントされません。
誰かがこれのコードを知っていますか?