Overriding natural order of query results for a subset

From: Laura Smith <n5d9xq3ti233xiyif2vp(at)protonmail(dot)ch>
To: postgre <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Overriding natural order of query results for a subset
Date: 2021-05-29 14:15:29
Message-ID: JMAUMif8HlhnMcFKC0RtswyGZHq3KNgCjtzOeXV4ISzy1aiG17q5KtvMMNu-t2Eeu2TWP4N-GG3o4Ruf62ng0Muxw5QfaG4Kh0s-3VluLSg=@protonmail.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

I've got a bit of a puzzle that I'm not quite sure how to approach.

Let's say I've got a table of bios, so :

create table bios (
first_name text not null,
last_name text not null,
person_title text,
person_short_bio text
);

Now, the "natural order" would be a standard "select * from bios order by last_name". Basic stuff, no problem.

The problem is that my use-case calls for a scenario where due to protocol certain people may be designated as "VIP" and therefore need to appear at the top. In addition, protocol may dictate that those "VIP" people themselves may (sometimes but not always) need to be ordered in a specific manner.

Bear in mind that there may be a large enough number of people in this table that the naïve approach of manually assigning everyone an order is neither practical or desirable. Hence the need for an "override" which would mean only a subset of people would need specific parameters.

Any ideas ?

Thanks !

Laura

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2021-05-29 14:22:21 Re: Overriding natural order of query results for a subset
Previous Message Willy-Bas Loos 2021-05-29 13:52:26 Re: WAL accumulating, Logical Replication pg 13