0

同じテーブル内の異なる列の重複した値を取得するにはどうすればよいですか?

簡単だと思います。私はテーブルを持っています:

Id    Column1     Column2
-------------------------
 1    John        red
 2    Patrick     white
 3    Alessia     yellow
 4    Aline       red
 5    Eva         orange
 6    John        blue
 7    Oscar       yellow
 8    Peter       red

だから、私が欲しい結果はこれです:

Column1     Column2    Total1  Total2
-------------------------------------
John        red           2      3
Patrick     yellow        1      2
Alessia     white         1      1
Aline       orange        1      1
Eva         blue          1      1
Oscar                     1
Peter                     1

つまり、重複を取得するには、それらを合計してグループ化し、注文します。

私はこのような1つの列でのみそれを行うことができます:

SELECT TOP 5
  column1, COUNT(*) AS total1
FROM table
GROUP BY column1
ORDER BY total1 DESC

ただし、複数の列を使用することはできません。この問題を解決する方法はありますか?

4

1 に答える 1

0

2つのリレーション(Name、CountOfColorForName)と(Color、CountOfNameForColor)を1つのリレーションに結合する一般的なメカニズムを求めています。これを行う一般的な方法はありません。最初にアプリケーション固有のマッピングが必要です。このマッピングがあれば、適切なSQLを簡単に記述できます。

于 2013-03-14T17:46:19.690 に答える