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

如何用SQL查询单表单列所有无逆序重复的两两组合(含自配对)

解决方案

你可以通过Fruits表自连接配合ID比较的过滤规则实现需求,最终查询语句如下:

SELECT 
  f1.Name AS Fruit1,
  f2.Name AS Fruit2
FROM Fruits f1
JOIN Fruits f2 
  ON f1.ID <= f2.ID
ORDER BY f1.ID, f2.ID

逻辑说明

  • 对Fruits表取两个别名f1、f2做自连接,先生成所有两两组合的笛卡尔积
  • 连接条件f1.ID <= f2.ID同时满足两个要求:
    • 当两个ID相等时,返回水果和自身配对的结果(比如Apple, Apple、Peach, Peach)
    • 当f1.ID < f2.ID时,只会返回ID从小到大对应的水果组合,天然排除逆序重复的情况,不会同时出现Apple,Banana和Banana,Apple
  • 末尾的ORDER BY子句可以让输出顺序和你给出的预期示例顺序保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:54:05