Re: get first and last row in one sql as two columns - Mailing list pgsql-general

From Melvin Davidson
Subject Re: get first and last row in one sql as two columns
Date
Msg-id CANu8Fiz9gGNAhKHC0h=6NZ9b_KRcs5eJ031X4vYgUy7NZkMsDw@mail.gmail.com
Whole thread Raw
In response to Re: get first and last row in one sql as two columns  (Rob Sargent <robjsargent@gmail.com>)
Responses Re: get first and last row in one sql as two columns
List pgsql-general
Try this:

SELECT
  (SELECT <your_column>
     FROM <your_table>
     ORDER BY <your_column> offset 0 LIMIT 1) ,
  (SELECT <your_column>
     FROM <your_table>
     ORDER BY <your_column> OFFSET (SELECT COUNT(*) ) LIMIT 1)
   FROM <your_table> LIMIT 1;


On Wed, Sep 2, 2015 at 7:27 PM, Rob Sargent <robjsargent@gmail.com> wrote:
On 09/02/2015 05:14 PM, Tom Smith wrote:
Hi:

I need to get the first and last tow in one sql like below

select first(col1), last(col1) from table order by col1

I saw some posting in wiki with a custom function (or C extention)
to do this.   Is it widely used and reliable?
https://wiki.postgresql.org/wiki/First/last_(aggregate)

I am wondering why these two functions are not part of postgresql built-in
functions as it has many use cases

Thanks
If you're ordering by col1, does
select min(col1), max(col1) from table order by col1

not do the trick;



--
Melvin Davidson
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

pgsql-general by date:

Previous
From: "ray madigans.org"
Date:
Subject: Retrieve postgres password
Next
From: Craig Ringer
Date:
Subject: Re: FDW and BDR