哪位朋友知道下图中的问题用mysql怎么做,

img


它假设的是有10万条数据,然后行转列,用A表进行查询,结果是B表的格式

可以先以现有数据编写出SQL语句。先添加一个辅助列:使用 row_number() over (partition by A_ID) 为相同 A_ID 编号,编号字段名 AR_ID,用于后面的子查询。使用 with as 语法,distinct A_ID 记录,左连接 AR_ID 为 1 的记录,再左连接 AR_ID 为 2 的记录,再左连接 AR_ID 为 3 的记录,再左连接 AR_ID 为 4 的记录,连接条件为 A_ID。
然后分析这个SQL,在数据量增加的情况下,哪些部分是可能跟着增加的,把这些部分改为动态的(使用查询语句生成动态部分的SQL字符串),最后拼接动态SQL语句字符串,执行这个动态SQL。其分析和编写过程和这篇文章相似,有问题可以私信:
动态行转列:处理不确定数量的行转列操作_创意程序员的博客-CSDN博客

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^