我有这张表:
origin destination
new york seattle
new york chicago
new york portland
seattle new york
seattle chicago
chicago new york
我必须建立一个图形,因此我需要删除所有重复的反向对,以获得:
origin destination oneway
new york seattle 0
new york chicago 0
new york portland 1
seattle chicago 1
我已经读过这篇文章:SQL -- Remove duplicate pairs,但它对我没有用,因为我有字符串文件。
谢谢
3条答案
按热度按时间kiz8lqtg1#
一种方法使用聚合:
另一种方法是使用窗口函数:
yr9zkbsy2#
使用
least
和greatest
的row_number
和count
的一个选项。j8ag8udp3#
如果你的表是一个笛卡尔积 (我在这个片段中看到的,这意味着你已经颠倒了表中每一行的副本),并且你不关心每一边会有什么,这比上面的一切都要容易得多
否则,您可以使用其他答案