在一个查询中按特定字段选择所有可用组合
Posted
技术标签:
【中文标题】在一个查询中按特定字段选择所有可用组合【英文标题】:select all available combination by specific field in one query 【发布时间】:2017-12-07 20:55:27 【问题描述】:我有表格“teams”,其中包含字段:id、team_name
id, team_name
1、皇家马德里
2,巴塞罗那足球俱乐部
3、尤文图斯
4,米兰
我想在一个查询中选择所有可用的 VS 组合...
这样:
皇家马德里 - 巴塞罗那足球俱乐部
皇家马德里 - 尤文图斯
皇家马德里 - 米兰
巴塞罗那足球俱乐部 - 尤文图斯
巴塞罗那足球俱乐部 - 米兰
尤文图斯 - 米兰
目的是找到不同行数的动态解决方案,如果表格中有更多团队...
这可能吗?怎么……?
谢谢:)
【问题讨论】:
Is there a way to simulate GROUP BY WITH CUBE in mysql?的可能重复 【参考方案1】:使用self join
。
select t1.team_name,t2.team_name
from tbl t1
join tbl t2 on t1.team_name>t2.team_name --or if the id's are unique use
/* on t1.id < t2.id */
【讨论】:
获取问题中指定的结果集...on t1.id < t2.id
(只是在第 1 列与第 2 列中列出的团队不同)...如果行的顺序很重要,请添加ORDER BY 子句,例如ORDER BY t1.id, t2.id
+10
@spencer7593 ..你是对的..我编辑了我的答案以包含它。以上是关于在一个查询中按特定字段选择所有可用组合的主要内容,如果未能解决你的问题,请参考以下文章
在 Castle ActiveRecord 中按 ID 选择