我尝试使用 JSON_ARRAYAGG 进行选择并使用相同的数据获得错误结果
SELECT json_object(
'buy' VALUE JSON_ARRAYAGG(b.buysum),
'total' VALUE JSON_ARRAYAGG(b.totalsum)
)
FROM (
select *
from view_count_sum
ORDER BY date_rw DESC
FETCH FIRST 10 ROWS ONLY
) b
ORDER BY b.date_rw;
结果,我得到带有 2 个数组的 JSON,这些数组在第一个数组中的数据顺序减少,在第二个数组中顺序错误
{"buy":[4168,4145,4130,4101,4068,4042,4008,3940,3900,3858],"total":[7778,7258,7333,7442,7546,7607,7642,7683,7718,7745]}
如果我在选择中替换位置 JSON_ARRAYAGG 我再次看到第一个数组的正确顺序和第二个数组的错误顺序
SELECT json_object(
'total' VALUE JSON_ARRAYAGG(b.totalsum),
'buy' VALUE JSON_ARRAYAGG(b.buysum)
)
FROM (
select *
from view_count_sum
ORDER BY date_rw DESC
FETCH FIRST 10 ROWS ONLY
) b
ORDER BY b.date_rw;
查看结果:
{"total":[7778,7745,7718,7683,7642,7607,7546,7442,7333,7258],"buy":[4168,3858,3900,3940,4008,4042,4068,4101,4130,4145]}
第二个顺序和任何其他数组都是错误的。第一个元素是正确的,但所有其他元素都是相反的