平常写 hive,不确定 mysql 是不是可以这么写。 一行转一列“行转列”已经有大佬写了。这种方法好在如果要求 rank/dense_rank 并列也能支持。 如果不想写“行转列”,还可以把六列拼成 array 再 sort_array,升序的话取最后3个。 这种方法缺点就是不支持 rank/dense_rank 的并列情况了,就像 row_number 排序