我有一个包含2列的表格-“主要”和“次要”。此外,还有其他列。以下是一组示例行:
id=1, primary=A, secondary=B, ..... id=2, primary=C, secondary=D, ..... .... ....... id=200, primary=B, secondary=A, ..... id=300, primary=J, secondary=D, .....
我需要一个“ GROUP BY”查询,该查询将对主要和次要值属于同一对值的所有行进行分组, 而与顺序无关 。因此,组应如下所示:
group=1, nodepair=BA, .... // (primary=A && secondary=B) OR (primary=B && secondary=A) group=2, nodepair=JM, .... // (primary=J && secondary=M) OR (primary=M && secondary=J)
谢谢。
您是否正在寻找这样的东西?
select least(primary, secondary) ,greatest(primary, secondary) from yourtable group by least(primary, secondary) ,greatest(primary, secondary);
不论顺序如何,它将为您提供唯一/唯一的主要/次要组合一组,即{A,B}与{B,A}相同。