|
If you just want the highest age if we have a tie on salary you could do: With inlineview1 as ( select Name, Max(Salary + age/100) as salary_and_age From Sometable With Someconditions Group by name ) Select a.* From Sometable a join Inlinebiew1 b on a.name = b.name and a.salary = integer(b.salary_and_age) and a.age = mod(b.salary_and_age,1)*100 assuming your salaries come out to even dollars. If you pay someone 65,000.23 per year you will have to increase, the number you divide age by until it is out past the cents if you want to be real safe you could divide by a much larger number. -----Original Message----- From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Chris Payne Sent: Wednesday, December 06, 2006 4:35 PM To: Midrange Systems Technical Discussion Subject: RE: Need help with SQL query Lets say you have John Smith 25 60000 John Smith 40 20000 John Smith 20 15000 As the only contents of your file, which record do you want back? If we get the John Smith with the highest salary, or the John Smith with the highest age we will be down to one John Smith and it will be meaningless to narrow it down further. Chris -----Original Message----- From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of John Candidi Sent: Wednesday, December 06, 2006 4:00 PM To: 'Midrange Systems Technical Discussion' Subject: Need help with SQL query I am trying to figure out a query that needs to display rows of grouped data based on max values of two columns. Here is an example. Fname lname age salary ---------- --------- ---- -------- John Smith 39 20000 John Smith 38 20000 John Smith 40 15000 Adam Apple 20 25000 Adam Apple 21 25000 Adam Apple 19 18000 I need to return one line from each group (one john smith and one Adam Apple) based on highest salary and age. For john Smith, highest Salary is 20000 and then highest age is 39, so the row returned would be John Smith 39 20000. For Adam Apple it would be Adam Apple 21 25000. I can get it narrowed down to rows grouped with highest salary, but then I can not think how to get it to narrow it down another level and only display the one with the larger age number after that. John A Candidi Rutgers Insurance Companies IT Director - Iseries Manager 856-779-2274
As an Amazon Associate we earn from qualifying purchases.
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.