× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Looks like you can also force the sort with a group by within a table selection, so, the following seems to resort my results, assuming you don't have duplicate values and you don't want to sort descending.


select cast(
json_objectAgg(trim(cast(ID as char(6))) value trim(DESC)
ABSENT ON
NULL) as varchar(500))
from (select * from qtemp/tstfil group by desc,id)

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Darren Strong
Sent: Monday, August 29, 2022 3:54 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: Sort JSON_OBJECTAGG

It seems to be based on the RRN of the source file. If I create another file as a copy, but, populate it in the order I want, I get a better sort:

create table qtemp/tstfil2 as
(select * from qtemp/tstfil order by desc) with data

select cast(
json_objectAgg(trim(cast(ID as char(6))) value trim(DESC)
ABSENT ON
NULL) as varchar(500))
from qtemp/tstfil2


{"1":"TEST 1","3":"TEST 2","2":"TEST 5"}

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Darren Strong
Sent: Monday, August 29, 2022 3:47 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: Sort JSON_OBJECTAGG

Sorry. I read it wrong. That didn't work at all, did it?

-----Original Message-----
From: Darren Strong
Sent: Monday, August 29, 2022 3:46 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: Sort JSON_OBJECTAGG

This worked for me on a test file. You basically pre-sort the file you're reading from, rather than reading direct from the file:

select cast(
json_objectAgg(trim(cast(ID as char(6))) value trim(DESC)
ABSENT ON NULL) as varchar(500))
from (select * from qtemp/tstfil order by desc)


Results:
CAST function
{"1":"TEST 1","2":"TEST 5","3":"TEST 2"}

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Justin Taylor
Sent: Monday, August 29, 2022 3:38 PM
To: MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Sort JSON_OBJECTAGG

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


Here's what I need in the end.
{"3":"Apples", "2":"Broccoli", "1":"Carrots"}

The closest I've gotten is this,
[{"3":"Apples"}, {"2":"Broccoli"}, {"1":"Carrots"}] from this statement.
JSON_ARRAYAGG(JSON_OBJECT(trim(cast(ID as char(6))) value DESCRIPTION ABSENT ON NULL) ORDER BY DESCRIPTION)

From there I just fixed the braces and brackets.


Thanks


date: Sat, 27 Aug 2022 10:16:59 +0200
from: "Birgitta Hauser" <Hauser@xxxxxxxxxxxxxxx>
subject: RE: Sort JSON_OBJECTAGG

It seems that JSON_OBJECTAGG currently does not support an extra ORDER
BY/SORT ... and specifiying a final Order By may be too late.

Mit freundlichen Gr??en / Best regards

Birgitta Hauser
Modernization ? Education ? Consulting on IBM i


"Shoot for the moon, even if you miss, you'll land among the stars."
(Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training
them and keeping them!"
?Train people well enough so they can leave, treat them well enough so
they don't want to.? (Richard Branson)


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.