如何在SQLite中生成单列元素的两两排列组合输出
SQLite 单列元素两两排列配对实现方案
首先明确前提:假设你存储国家数据的表名为countries,存储国家名称的列名为country_name,直接用自连接加过滤即可实现需求,无需额外插件或自定义函数。
具体SQL语句
SELECT c1.country_name AS country1, c2.country_name AS country2 FROM countries c1 CROSS JOIN countries c2 WHERE c1.country_name != c2.country_name;
实现逻辑说明
- 对
countries表做自交叉连接,会生成所有两两组和的笛卡尔积,你当前的3个国家场景下初始会得到9条组合结果 - 通过
WHERE条件排除两个国家名称相同的配对(也就是自己和自己配对的3条无效结果),最终剩下的6条就是你需要的全排列配对结果
内容的提问来源于stack exchange,提问作者Bakhtygerey
相关产品推荐
相关产品推荐

