SQL: 将两个 to-from(定向)列交换为两个单向列

SQL: swap two to-from (directional) columns into two unidirectional columns

我正在处理一些与图形相关的数据,这些数据具有定向节点。这是初始模拟数据。

但是,我试图将其分析为单向路径。这意味着我将以某种方式需要将 node1 的某些行与 node2 交换以进行分组。如下所示。

有人知道如何为此编写 SQL 查询吗?谢谢!

这里是逗号分隔的模拟初始数据。

id,node1,node2,count
1,A,B,10
2,B,A,20
3,C,B,30
4,C,A,30
5,A,C,20
6,B,C,10

您显然希望较小的值为 node1。这可以使用 least()greatest() 函数来完成:

select id, 
       least(node1, node2) as node1, 
       greatest(node1, node2) as node2,
       "count"
from the_table;