Re: SQL Newbie

From: "Nick Stone" <nick(at)harelane(dot)com>
To: "'Lane Van Ingen'" <lvaningen(at)esncc(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: SQL Newbie
Date: 2005-08-12 17:57:34
Message-ID: 20050812175529.82D7F24F3B9@smtp.nildram.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hope this helps

SELECT
*
FROM
speed_history as outside etc..
WHERE
(speed = (
SELECT
speed
FROM
speed_history as inside etc..
WHERE
(outside.interface = inside.interface)
LIMIT 1
ORDER BY
speed DESC
)
)

Hopefully you get the idea - basically it's a corelated sub-query - very
useful

Nick

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org]
On Behalf Of Lane Van Ingen
Sent: 12 August 2005 16:09
To: pgsql-sql(at)postgresql(dot)org
Subject: [SQL] SQL Newbie

It seems to me that I should be able to do this, but after 5 hrs of trying,
I can't figure this one out.

I could do this in two queries, but seems like I should be able to do this
in one. What I am trying to do:
Find the highest speed at which each interface of a router has run over
time.

I have three tables, two of which (interface, speed_history) are being used
in this query (primary / foreign key fields noted as PK / FK):

router -> 1:M -> interface -> 1:M -> speed_history
------------------- --------------------------- --------------------------
-
router_no (int2) PK interface_id (int4) PK interface_id (int4) PK
name (varchar) router_no (int2) FK updated_time (timestamp)
PK
link_description (varchar) speed (int4)

Data in speed history looks like this:
interface_id updated_time speed
1 2005-08-11 08:10:23 450112
1 2005-08-11 10:53:34 501120 <---
1 2005-08-11 10:58:11 450112
2 2005-08-11 08:10:23 450112 <---
2 2005-08-11 11:00:44 350234
3 2005-08-11 08:10:23 450112 <---
The rows of speed_history I want back are marked above with ' <--- '.

Query results should look like:
interface.interface_id
interface.link_description
speed_history.updated_time
speed_history.speed

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

In response to

  • SQL Newbie at 2005-08-12 15:09:00 from Lane Van Ingen

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2005-08-12 18:04:55 Re: SQL Newbie
Previous Message Ilene 2005-08-12 16:24:39 Left join pa on dal resulting in null