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

浙公网安备 33010602011771号