Re: get first and last row in one sql as two columns

From: Melvin Davidson <melvin6925(at)gmail(dot)com>
To: Rob Sargent <robjsargent(at)gmail(dot)com>, Tom Smith <tomsmith1989sk(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: get first and last row in one sql as two columns
Date: 2015-09-02 23:47:37
Message-ID: CANu8Fiz9gGNAhKHC0h=6NZ9b_KRcs5eJ031X4vYgUy7NZkMsDw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)gmail(dot)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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2015-09-02 23:49:36 Re: FDW and BDR
Previous Message ray madigans.org 2015-09-02 23:43:24 Retrieve postgres password