gpt4 book ai didi

mysql - 如何编写查询来确定 'AB' 和 'BA' 是否相同?

转载 作者:行者123 更新时间:2023-11-29 05:07:21 26 4
gpt4 key购买 nike

我有点卡在这里。我正在尝试为每条路线分配一个唯一的路线 ID,无论是单程还是往返。

例如我有两列,起点和终点:

  • DC 到纽约 -> 路线 A
  • 纽约到哥伦比亚特区 -> 路线 A
  • 纽约到波士顿 -> 路线 B
  • 波士顿到迈阿密 -> routeC
  • 迈阿密到纽约 -> routeD
  • 迈阿密到波士顿 -> routeC

换句话说,我如何编写查询来标记 DC 到 NYC 和 NYC 到 DC 基本上是相同的路线 (routeA) 而不是不同的路线。在这种情况下,我只关心城市对,而不关心行进方向。

PS:我用的是MySQL

谢谢!

最佳答案

您可以通过执行以下操作来枚举对:

select least(origin, destination) as city1,
greatest(origin, destination) as city2,
(@route := @route + 1) as route_number
from t cross join
(select @route := 0) params
group by least(origin, destination), greatest(origin, destination);

或者,另一种方法是创建一个路由名称:

select t.*,
concat_ws(':', least(origin, destination) as city1,
greatest(origin, destination)
) as route_name
from t;

关于mysql - 如何编写查询来确定 'AB' 和 'BA' 是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45527128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com