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



On 4/10/2014 3:08 PM, Michael Smith wrote:
Thanks for the suggestion,

"select min(yearcount) into :count from (SELECT count(*) as yearcount FROM macfile WHERE ordyr between 2003 and 2013 GROUP BY ordyr)"

Will this code provide me the year of the "min(yearcount)"... which is the value that I am after, as in this sample data below; I am looking for 2003 to be populated in my RPG variable.
2,003 225
2,004 392
2,005 447
2,006 248
2,007 379
2,008 544
2,009 262
2,010 568
2,011 532
2,012 288
2,013 314

You could use a Common Table Expression. This is obviously untested.

with years as (
select ordyr, count(*) as orders
from macfile
where ordyr between 2003 and 2013
group by ordyr)
select year, orders
from years
where orders = (select min(orders) from years)

The idea is that the CTE [with years as ()] assembles the list of years
and counts as a temporary file in memory. Then the main select has a
where clause that chooses the MIN(orders). There is a potential issue
if there are years with the exact same number of orders and that number
happens to also be the minimum value in the list.
--buck

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.