agora inbox for pgsql-sql@postgresql.org  
help / color / mirror / Atom feed
From: MS (direkt) <martin.stoecker@stb-datenservice.de>
To: pgsql-sql@lists.postgresql.org
Subject: Re: left outer join to pull in most recent record
Date: Wed, 10 Oct 2018 11:13:15 +0200
Message-ID: <5abe34aa-b5a3-7ad4-7e62-960ab86e201e@stb-datenservice.de> (raw)
In-Reply-To: <201810091418.01620.gary.stainburn@ringways.co.uk>
References: <201810091418.01620.gary.stainburn@ringways.co.uk>

select distinct s_regno, max(s_stock_no) over (partition by s_regno 
order by s_regno) from stock;

Am 09.10.2018 um 15:18 schrieb Gary Stainburn:
> I have the following stock list table.
>
> # select * from stock;
>   s_stock_no | s_regno
> ------------+---------
>   N12345     | GPS1
>   N12346     | TEST1
>   U123       | GPS1
> (3 rows)
>
> This shows two vehicles.
> GPS1 was originally a new vehicle which we then sold.
> TEST1 is also a new vehicle
> GPS1 is sunsequently purchased back from the customer as a part exchange, and
> is put on the stock table as a used car.
>
> If I later want to do a search based on the registration number, wishing to
> retrieve the most recent record what is the *best* (quickest or least CPU
> time depending on your preference) way to do this?
>
> By most recent record, I mean the record with the highest stock number.
>
> I'm looking for a solution to do a straight select where.....
> but I am also looking for a solution that can be used in a left join, for
> example
>
> select diary.*, stock.*
> 	from diary
> 	left outer join stock on ...........
>

-- 

Widdersdorfer Str. 415, 50933 Köln; Tel. +49 / 221 / 9544 010
HRB Köln HRB 75439, Geschäftsführer: S. Böhland, S. Rosenbauer

view thread (2+ messages)

Message-ID: <5abe34aa-b5a3-7ad4-7e62-960ab86e201e@stb-datenservice.de>
Permalink:  ../5abe34aa-b5a3-7ad4-7e62-960ab86e201e@stb-datenservice.de/
Also on:    postgresql.org/message-id/5abe34aa-b5a3-7ad4-7e62-960ab86e201e@stb-datenservice.de

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: martin.stoecker@stb-datenservice.de, pgsql-sql@lists.postgresql.org
  Subject: Re: left outer join to pull in most recent record
  In-Reply-To: <5abe34aa-b5a3-7ad4-7e62-960ab86e201e@stb-datenservice.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox