× 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.



Pretty sure I just ran a test:

First SQL with no ORDER BY clause:
select s2code,s2keym       
 from clocn0009/cksecrt2   
group by s2code, s2keym    

Results appear like so:
FIELD  FIELD 
CODE   VALUE 
  J    83052 
  J    83552 
  S    00009 
  J    90852 
  J    91052 
  S    08897 
  J    72152 
  J    73152 
  J    75952 
  J    76152 
  J    76252 
  J    76652 

Now I Add the order by clause:
select s2code,s2keym     
 from clocn0009/cksecrt2 
group by s2code, s2keym  
order by s2code,s2keym   

Results are like so:
FIELD  FIELD 
CODE   VALUE 
  J    60052 
  J    60552 
  J    60652 
  J    60952 
  J    61052 
  J    61652 
  J    63252 
  J    64052 
  J    65152 
  J    65252 
  J    65352 
  J    66052 
  J    67052 
  J    67152 
  J    68852  


Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of HauserSSS
Sent: Monday, November 14, 2005 1:15 PM
To: RPG programming on the AS400 / iSeries
Subject: AW: SQL within RPG

Hi Tommy,

>>If you use GROUP BY without the ORDER BY when you "read" the data in
it
>>will be processed in RRN order(IIRC).

Sure?

The following text is an extract from
"Indexing and Statistics Strategies for DB2 UDB for iSeries" by Michael
Caine
http://www-03.ibm.com/servers/enable/site/education/abstracts/indxng_abs
.htm
l:

Grouping and Ordering
Other common functions within an SQL request are grouping and ordering.
Using
the SQL GROUP BY clause, queries will summarize or aggregate a set of
rows
together. In DB2 UDB for iSeries, the optimizer can use either an index
or a
hashing algorithm to perform grouping. The method that the optimizer
picks
is
query and system dependent; the optimizer will make its selection based
on
the
nature of the query, the data, and the system resources available.

When a query includes an ORDER BY clause, the database engine will order
the
result set based on the columns in the ORDER BY clause. In DB2 UDB for
iSeries, the optimizer can use either an index or a sort. Therefore,
indexes
can be
used for this function as well. Sometimes, the ORDER BY clause includes
columns already used in the selection and grouping clauses, so the
optimizer
may take advantage of the "by key" processing used for other parts of
the
query
request. The data is processed in order, so to speak.

Birgitta

-----Ursprungliche Nachricht-----
Von: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]Im Auftrag von Holden Tommy
Gesendet: Montag, 14. November 2005 17:20
An: RPG programming on the AS400 / iSeries
Betreff: RE: SQL within RPG


GROUP BY & ORDER BY perform 2 entirely different functions.  Group By
allows you to basically "process by key" criteria for functions (sum(),
etc.) where as ORDER BY allows you to "read by key"

If you use GROUP BY without the ORDER BY when you "read" the data in it
will be processed in RRN order(IIRC).

If you are only selecting a certain cust_id & line_type as described
below you can exclude the ORDER BY since you will only pull the results
for the one GROUP.


Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Douglas W. Palme
Sent: Monday, November 14, 2005 9:54 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: SQL within RPG

Thanks Matt, I did not think I could do two order by within the same
statement.....but that will do what I need.....


On Mon, 14 Nov 2005 10:28:44 -0500, Matt.Haas wrote
> Grouping by the customer id and line type should do this. Something
> along the lines of:
>
>   SELECT cust_id, line_type, sum(amount)
>     FROM billing_file
> GROUP BY cust_id, line_type
> ORDER BY cust_id, line_type
>
> For performance reasons, you'll want to create a logical file that
> has the fields used by your selection criteria followed by the
> fields used in the ORDER BY clause.
>
> Matt
>
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Douglas W. Palme
> Sent: Monday, November 14, 2005 9:50 AM
> To: RPG Group
> Subject: SQL within RPG
>
> I have a program that calculates sales for each of our customers
> based upon the type of sale it is (defined by a line type), it is
> using embedded sql and works fine.  What I would like to do is
> expand it so that I can display for each customer within the subfile
> their totals sales for two or possibly three seperate line types IE:
> line haul charges, stop off charges, fuel surcharges.
>
> Is there a way to do this without having to create a work file or re-
> run the sql query for each line type? What I mean is this, is it
> possible to select the sums for each of sales for each line type
> grouped by customer?
>
> If you bought it, it was hauled by a truck - somewhere, sometime.
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
> list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L)
>  mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
> subscribe, unsubscribe, or change list options, visit:
> http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-
> L-request@xxxxxxxxxxxx Before posting, please take a moment to
> review the archives at http://archive.midrange.com/rpg400-l.


If you bought it, it was hauled by a truck - somewhere, sometime.

--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.