TechTip: SQL--Limit the Size of Your Result Set

SQL
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times
Some databases include the keyword TOP, which limits the result set to a specified number of rows. Unfortunately, SQL on the iSeries does not support TOP. However, there is still a way to perform the same task. The Fetch First keyword limits the result set just as TOP does.

The following example illustrates its use. This statement selects all the columns from the customer master file and puts all of the records in order by total sales in a descending sequence. It then limits the result set to the first 10 rows:

SELECT * FROM CUSTMAST ORDER BY TOTSALES DESC FETCH FIRST 10 ROWS ONLY  


This example is fairly straightforward, but there are other more sophisticated uses for this same tool. Your first inclination might be to use this keyword inside the IN keyword or within a joined sub-select. Unfortunately, it can't be used in those parts of an SQL statement! It can still be used, but it must come at the end of your statement.

If the total sales amount were not stored in the customer master file and had to be derived from the order history file, the statement might look as follows:

SELECT CUSTNAME, TOTSALES FROM CUSTMAST C JOIN (SELECT CUSTNBR, 

SUM(SALESAMT) AS TOTSALES FROM ORDERHIST GROUP BY CUSTNBR) AS O ON 

C.CUSTNBR = O.CUSTNBR ORDER BY TOTSALES DESC FETCH FIRST 10 ROWS ONLY


This statement creates a temporary file object called O that contains the sales totals from the order history file for each customer. That temporary file is joined to the customer master file to retrieve the name, and then the records are sorted into descending sequence by total sales and the first 10 rows are included. All other records are discarded.

These two examples should give you a pretty good idea of how use the Fetch First keyword to restrict your result set to just the records you want.

Kevin Forsythe has over 18 years of experience working with the iSeries platform and its predecessors. He has been a member of the DMC team for the past nine years. Kevin's primary responsibility is providing iSeries education, but he also provides customers with project management, system design, analysis, and technical construction. In addition to his technical skills (RPG IV, CL, OS/400, SQL, FTP, Query, VB, Net.Data), Kevin possesses the ability to communicate new and complex concepts to his students. He has been the primary instructor for DMC's iSeries-based AS/Credentials training courses since 1997 and has authored courses such as Advanced ILE, SQL, Embedded SQL, Operations Navigator, and Intro to WebSphere Studio. An award-winning speaker, he has spoken at every COMMON Conference since the spring of 2000.






BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: