突然遇到了一个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语句没仔细的琢磨,看见想要的结果了就结束了,如果有不合适的或者有更好的方式,求大佬指正)
原文:https://www.cnblogs.com/yangjuanjuan/p/11578655.html