SQL的交叉重复

突然遇到了一个SQL的问题,嗯,刚毕业的我记得老师有说过但我不记得了emmmm

题目是这样的:一个班级有五个学生两两PK,列出可能出现的组合结果(不能重复)

 

嗯,感觉不难啊,随便新建了个表弄一下(忽略下细节),假装name就是学生名吧,

------------------------------------------------------------------------------------------------------------------------------------------

 然后实现题目要求的组合结果如下: sql长这个样子
SELECT x.[name] as xname, y.[name] as yname
  	FROM table  x
 	join table y on x.id<>y.id
  	group by x.[name],y.[name]

  

 

 

 

 

 

 

 

 

 

 

咦,怎么就重复了呢?!

有点绝望,后来就是各种试,过程......的省略了~嘿

其实不是很难,不知道自己那会怎么就转不过来呢

最后把对的代码po上来啦

SELECT x.[name] as xname, y.[name] as yname
FROM table x
join table y on x.id<y.id
group by x.[name],y.[name]

  想要的组合结果就是这样喽>>

(SQL语句没仔细的琢磨,看见想要的结果了就结束了,如果有不合适的或者有更好的方式,求大佬指正)

 

posted @ 2019-09-24 15:41  小魔仙变身  阅读(187)  评论(0)    收藏  举报