如何在同一个表中获取不同列的重复值?
我认为这很简单。我有一张桌子:
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
所以:拿出副本,对它们进行求和,然后对它们进行分组。
我只能用这样一列来做:
SELECT TOP 5
column1, COUNT(*) AS total1
FROM table
GROUP BY column1
ORDER BY total1 DESC
但是不可能有多个专栏。有没有办法解决这个问题?
答案 0 :(得分:0)
您要求一种通用机制将两个关系(Name,CountOfColorForName)和(Color,CountOfNameForColor)组合成一个关系。没有一般方法可以做到这一点;首先需要特定于应用程序的映射。鉴于此映射,可以简单地编写适当的SQL。