我有一张简单的表
CREATE TABLE aaa AS
(
ogid integer NOT NULL,
ocolor character varying(80) NOT NULL,
vgid integer NOT NULL,
vcolor character varying(80) NOT NULL,
)
aa包含一些值,如本例中的
Ogid OColor Vgid VColor
1 v 1 v
1 v 5 r
1 v 8 g
2 r 5 r
3 g 7 r
4 g 5 r
5 r 7 r
5 r 9 g
6 g 6 g
我需要计算每对夫妇(OColor,VColor)中的元素数量(将它们放在一起)(例如g-r和r-g的元素组合在一起)。
我需要一个类似于:
的结果OColor Vcolor nelement
b b 10
b g 16
g v 2
答案 0 :(得分:1)
如果我理解正确,您可以使用least()
和greatest()
:
select least(ocolor, vcolor), greatest(ocolor, vcolor), count(*)
from table t
group by least(ocolor, vcolor), greatest(ocolor, vcolor);
但是,您的问题令人困惑,因为结果似乎与样本数据无关。