Re: Getting statistics from tables

From: "Peter Darley" <pdarley(at)kinesis-cem(dot)com>
To: "Paulo Jan" <admin(at)mail(dot)ddnet(dot)es>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: Getting statistics from tables
Date: 2002-04-09 17:53:14
Message-ID: NNEAICKPNOGDBHNCEDCPIEDECHAA.pdarley@kinesis-cem.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Paulo,
Try something like:
SELECT Users, count(*) AS User_Count FROM Table GROUP BY Users
to see the number of pages/user, or
SELECT Pages, count(*) AS Page_Count FROM Table GROUP BY Pages
to see the number of users/page.

You can add a limit as well, if you only want the top x listed;
SELECT Users, count(*) AS User_Count FROM Table GROUP BY Users ORDER BY
count(*) DESC LIMIT 5;

Thanks,
Peter Darley

-----Original Message-----
From: pgsql-general-owner(at)postgresql(dot)org
[mailto:pgsql-general-owner(at)postgresql(dot)org]On Behalf Of Paulo Jan
Sent: Tuesday, April 09, 2002 10:01 AM
To: pgsql-general(at)postgresql(dot)org
Subject: [GENERAL] Getting statistics from tables

Hi all:

Let's say I have a table that keeps track of the pages that an user has
seen in my website, something like:

Users | Pages
-----------------------------
pepe | index.html
johnsen | about.html
paco | about.html
paco | index.html
pepe | download.html

It's easy to see the last 5, or 10, or 15 pages that an user has seen,
or the last users that have viewed a page. But how can I find out the 5
most seen pages, or the 5 most frequent users? My first thought (to find
the most viewed pages) was to:

1) "SELECT DISTINCT pages FROM <table>"
2) For each page, "SELECT count(users) FROM <table> WHERE
pages='<page>'"
3) Find out the 5 pages that have returned the highest counts.

At which point I imagined the perfomance problems that all the above
would cause in a dynamic page (PHP) and said to myself "ew!!".
Is there any other way? Any built-in function in Postgres that can do
this, perhaps?
(I used pageviews just as an example; what I have is a number of
similar situations where I need to find out this kind of data, and in
all of them said data is updated dynamically and needs to be displayed
in real time).

Paulo Jan.
DDnet.

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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Johann Zuschlag 2002-04-09 17:58:07 Why does this not work? (keyword 'TEXT')
Previous Message Jean-Luc Lachance 2002-04-09 17:49:46 Re: Getting statistics from tables