Re: order of results

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Gregor Rot <zara4tustra(at)yahoo(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: order of results
Date: 2004-04-07 05:33:28
Message-ID: 20040407053328.GA9824@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Sat, Apr 03, 2004 at 17:08:34 +0200,
Gregor Rot <zara4tustra(at)yahoo(dot)com> wrote:
> Bruno Wolff III wrote:
> >On Thu, Mar 25, 2004 at 14:23:00 +0100,
> > Gregor Rot <zara4tustra(at)yahoo(dot)com> wrote:
> >
> >>Hi,
> >>
> >>i have a table called "people" (name:varchar, lastname:varchar).
> >>
> >>i do a select on it:
> >>
> >>select * from people where name like '%n1%' or lastname like '%l1%'.
> >>
> >>i would like the results in this order:
> >>
> >>first the results that satisfy only the (name like '%n1%') condition,
> >>then the ones that satisfy only the (lastname like '%l1%') condition and
> >>last the results that satisfy both conditions.
> >>
> >>Is this possible in only one SQL?
> >>(note that the search conditions n1 and l1 differ from search to search.
> >
> >
> >Yes. You can order by true/false results from conditions to get the
> >results in the desired order.
>
> Thank you - sorry, but how do you do that?

Here is a simple example that illustrates what you can do:
bruno=> select col from test order by col like 'bb%', col;
col
-----
aaa
aac
ccc
ccd
bba
bbb
bbc
(7 rows)

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message ?? 2004-04-07 07:38:12 Re: Unknown Exception (piaozhenyu@163.com)
Previous Message Bruno Wolff III 2004-04-07 04:29:54 Re: Getting the ranks of results from a query