如何通过两列排序实现足球队主客场比赛连续显示
足球队主客场比赛连续排列的排序方案
一、Excel/Google Sheets 操作方法
- 新增辅助列1(比如命名为「目标球队标识」),输入公式(假设目标球队是"曼联",主队列是A列,客队列是B列):
=IF(OR(A2="曼联", B2="曼联"), 1, 0) - 新增辅助列2(命名为「排序优先级」),输入公式:
=IF(OR(A2="曼联", B2="曼联"), 0, ROW()) - 按「排序优先级」列升序排序,目标球队的所有主客场比赛就会连续排在最前面。
- 若要让所有球队的比赛各自连续,可调整辅助列公式为:
=IF(A2=B2, A2, IF(A2="曼联", "曼联", B2)),直接按该列排序即可。
二、SQL 实现方式
假设比赛表为matches,字段为home_team(主队)、away_team(客队):
1. 单支球队比赛连续排列
SELECT * FROM matches ORDER BY -- 让目标球队的比赛优先排前面 CASE WHEN home_team = '曼联' OR away_team = '曼联' THEN 0 ELSE 1 END, home_team, away_team;
2. 所有球队比赛各自连续
SELECT * FROM matches ORDER BY -- 统一以球队名称作为排序分组依据 CASE WHEN home_team = away_team THEN home_team ELSE COALESCE( NULLIF(home_team, ''), NULLIF(away_team, '') ) END, home_team;
或者更简洁的写法,利用字符串排序特性:
SELECT * FROM matches ORDER BY LEAST(home_team, away_team), home_team;
内容的提问来源于stack exchange,提问作者all1word
相关产品推荐
相关产品推荐

