大佬好强,这个sql题好有意思啊,我有些自己的理解:给每个k分组,然后对每个组求出距离。难点在于怎么把k分组,所以可以用打断点的方式计算(面试官的思路),拐点打断点,后面累加就完成了分组,然后对每个分组求距离,比大小。 但是大佬你这里用排名函数的思路我觉得有点漏洞,group by之后会去重,这样只能算出哪一组k最多,虽然这一组k最多,但是不一定这组k的距离就是最大啊。比如k1有4条,k2有5条,group by之后把k2拿了出来进行计算距离,但是如果k1这四条走的都是对角线斜边,而k2这5条走的都是x直角边,这个大小是不是就不好判断了,k1的4条斜边走的距离可能比k2的5条直角边还长。所以是不是要对每一组都进行距离计算,而不是group by把最多那个k拿出来单独算?