如何从两列中获取双向组合的计数?

CBo*_*ode 4 t-sql sql-server aggregate-functions

我在一家货运公司工作,我们有兴趣统计我们的一辆卡车在两个城市之间双向行驶的次数。

我有一个表格,列出了每个行程段的出发地和目的地,例如:

出发地 目的地
城市 1 城市 2 城市 2 城市 1 城市 3 城市 4 城市 2 城市 1

我需要一个查询,告诉我城市 1 和城市 2 之间有 3 趟行程,城市 3 和城市 4 之间有 1 趟行程。非常感谢!

a1e*_*x07 5

我认为以下应该可以解决问题。

SELECT route , COUNT(1) FROM 
(
   SELECT 
   CASE WHEN Origin > Destination THEN Origin+'_'+Destination
   ELSE Destination+'_'+Origin 
   END AS route
   FROM table1
 )a
 GROUP BY route
Run Code Online (Sandbox Code Playgroud)