pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Jean-Luc Lachance <jllachan@nsd.ca>
To: Sill-II, Stephen <Stephen.Sill-II@ost.dot.gov>
Cc: pgsql-sql@postgresql.org
Subject: Re: look for latest user login in one table from a list of users
Date: Fri, 14 Mar 2003 12:13:35 -0500
Message-ID: <3E720DBF.D71D2D75@nsd.ca> (raw)
References: <4BAE87828F06EB45B2641B83D370350F4663@ostex002.ad.ost.dot.gov>

Try:

select users."User-Name", ss."Date", ss."Time" from users left outer
join (
  select distinct on ("User-Name") "User-Name", "Date", "Time" order by
1, 2 DESC, 3 DESC) as ss
 on ( users."User-Name" = ss."User-Name")
order by 1;

It help if yo uhave an index on logs( "User-Name", "Date" desc, "Time"
desc).

JL

PS Can't you convert "Date" || "Time"  to timestamp?


"Sill-II, Stephen" wrote:
> 
> I'm trying to come up with an efficient way to do the following task, but I
> haven't found the correct join syntax to do it.
> 
> I have table "users" for keeping a list of users I need to check logins for.
> It contains the following fields:
> 
> id,Full-Name,User-Name
> 
> I have table called "logs" that contains the actual radius log data.  The
> three fields I am concerned with are:
> 
> User-Name,Date,Time
> 
> I have gotten thus far almost what I want with the following query.
> 
> SELECT users."User-Name",max(logs."Date") as login_date,max(logs."Time") as
> login_time FROM logs where logs."User-Name"=users."User-Name" GROUP BY
> users."User-Name";
> 
> This gives me the User-Name, date, and time of people WHO HAVE LOGGED IN.
> I'm looking to have a query that returns all of the users in the first
> table, including those who have not logged in.  I have an external perl
> script that generates a nice html report for the manager.  I have a script
> that parses the raw .csv files, but I'm trying to move it entirely to
> postgres, including if possible stored-procedures in plperl.  I already have
> a perl script that imports the raw log files into the logs table.
> 
> Am I on the right track?
> 
> Thanks,
> 
> Stephen Sill II
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org



view thread (4+ messages)  latest in thread

Message-ID: <3E720DBF.D71D2D75@nsd.ca>
Permalink:  ../3E720DBF.D71D2D75@nsd.ca/
Also on:    postgresql.org/message-id/3E720DBF.D71D2D75@nsd.ca

 · 

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: jllachan@nsd.ca, Stephen.Sill-II@ost.dot.gov
  Subject: Re: look for latest user login in one table from a list of users
  In-Reply-To: <3E720DBF.D71D2D75@nsd.ca>

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

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