hivesql练习_排列问题
现有球队表(team)如下。
team_name (球队名称) |
---|
湖人 |
骑士 |
灰熊 |
勇士 |
拿到所有球队比赛的组合 每个队只比一次
期望结果如下:
team_name_1 <string> (队名) | team_name_2 <string> (队名) |
---|---|
勇士 | 湖人 |
湖人 | 骑士 |
灰熊 | 骑士 |
勇士 | 骑士 |
湖人 | 灰熊 |
勇士 | 灰熊 |
解答:
with tt as( SELECT team_name, case when team_name = '湖人' then 1 when team_name = '骑士' then 2 when team_name = '灰熊' then 3 else 4 end no --编号 FROM team ) select t1.team_name team_name_1, t2.team_name team_name_2 from tt t1 join tt t2 on t1.no < t2.no