Re: using LIMIT only on primary table

From: Masaru Sugawara <rk73(at)sea(dot)plala(dot)or(dot)jp>
To: dan(at)langille(dot)org
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: using LIMIT only on primary table
Date: 2002-03-03 06:00:01
Message-ID: 20020303141057.614C.RK73@sea.plala.or.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice pgsql-sql

On Sat, 2 Mar 2002 17:35:31 -0500
"Dan Langille" <dan(at)langille(dot)org> wrote:

> If I want the last 100 orders:
>
> SELECT * FROM orders LIMIT 100;
>
> If I want all the items on the last 100 orders, I'd start like this:
>
> SELECT *
> from orders, order_items
> where order_items.order_id = orders.id
> LIMIT 100
>
> But that will only give me the last 100 items, not 100 orders.
>
> What I really want is
>
> SELECT *
> from orders, order_items
> where order_items.order_id = orders.id
> and exists
> (SELECT * from orders order by ID DESC limit 100);

This probably gives you all the items on the last 100 orders.

select *
from (select * from orders order by ID desc limit 10) as o
inner join order_items as oi
on (oi.order_id = o.order_id)
;

>
> But that gives me all orders, not just the first 100.
>
> Adding a LIMIT 100 to the above doesn't work either. It equates to the
> first example.

Regards,
Masaru Sugawara

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message rob 2002-03-04 02:17:12 PL/pgSQL syntax documentation
Previous Message Anthony Estevez 2002-03-03 05:21:58 Formatting

Browse pgsql-sql by date

  From Date Subject
Next Message Stephan Szabo 2002-03-03 07:50:03 Re: Index doesn't appear to be working.
Previous Message John Oakes 2002-03-03 00:28:23 Index doesn't appear to be working.