You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft SQL查询中实现互反Source与Destination配对的跨分组统计

SQL Server 互反配对合并统计方案

实现思路

将Source和Destination两个字段按固定规则(如字典序)排序后作为分组键,确保正向、反向的配对生成相同的分组值,即可合并统计。

注意:你原查询中的字段名Destinaton存在拼写错误,实际使用时请替换为正确的字段名。

通用实现方案(兼容所有SQL Server版本)

SELECT
    CASE WHEN Source < Destination THEN Source ELSE Destination END AS Source,
    CASE WHEN Source < Destination THEN Destination ELSE Source END AS Destination,
    COUNT(*) AS [Count]
FROM dbo.Pakete
GROUP BY
    CASE WHEN Source < Destination THEN Source ELSE Destination END,
    CASE WHEN Source < Destination THEN Destination ELSE Source END;

简化实现方案(仅支持SQL Server 2022及以上版本)

可使用SQL Server 2022新增的LEAST、GREATEST函数简化代码:

SELECT
    LEAST(Source, Destination) AS Source,
    GREATEST(Source, Destination) AS Destination,
    COUNT(*) AS [Count]
FROM dbo.Pakete
GROUP BY LEAST(Source, Destination), GREATEST(Source, Destination);

两种方案执行后都会返回你需要的结果:Source为ABC、Destination为DEF、Count为2。

内容的提问来源于stack exchange,提问作者Severin Schmid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 08:06:03