These worked for me:
These lists the results in reverse order based on the rownum and returns first row, which is actually the last row, just in reversed order.
Oracle:
select *
from (select umab.umab_directory_info.*, rownum
from umab.umab_directory_info
where pidm = 0
ORDER BY ROWNUM DESC)
WHERE ROWNUM=1;
Pgsql-sql:
select course_id from (select course_main.course_id, row_number() OVER (ORDER BY course_id)
from course_main
where course_name like '%DO NOT USE%'
ORDER BY row_number DESC limit 1) cm
You need an alias (cm), otherwise you will get an error.
From: Shaozhong SHI <shishaozhong@gmail.com>
Sent: Monday, April 4, 2022 7:22 PM
To: Rob Sargent <robjsargent@gmail.com>
Cc: pgsql-sql@lists.postgresql.org
Subject: Re: How to just get the last in a recursive query
CAUTION: This message originated from a non-UMB email system. Hover over any links before clicking and use caution opening attachments.
That is not the most efficient in this case.
How to tell query to deliberately miss out all except the last one is of interest.
Regards, David
On Monday, 4 April 2022, Rob Sargent <robjsargent@gmail.com> wrote:
On 4/4/22 16:14, Shaozhong SHI wrote:
3 rows got returns as follows:
id
---
6
3
1
How to just get the last (namely, 1) in the most efficient way?
Regards, David
reverse the order of the last query and set limit 1