Re: Calculating with sql - Mailing list pgsql-sql

From Masaru Sugawara
Subject Re: Calculating with sql
Date
Msg-id 20020628015018.3840.RK73@sea.plala.or.jp
Whole thread Raw
In response to Calculating with sql  (Dennis Kaarsemaker <fake_adress@use-reply.to>)
Responses Re: Calculating with sql
List pgsql-sql
On Wed, 26 Jun 2002 22:18:07 +0200
Dennis Kaarsemaker <fake_adress@use-reply.to> wrote:

> From a copy of the CDDB-database i want to select the artist & album that
> has on average the longest tracks.
> 
> But in the tracks table there is no such field as length, so i have to
> calculate it. But when i try to do so it just gives me errors.
> 
> This is the erroneous query i have made so far
> 
> select albums.ARTIST, albums.TITLE from tracks,albums
> where tracks.DISCID = albums.DISCID
> group by tracks.DISCID
> having(albums.LENGTH/count(tracks.TRACK)) = 
> (
>   select max(albums.LENGTH/count(tracks.TRACK)) from tracks,albums
>   where tracks.DISCID = albums.DISCID
>   group by tracks.DISCID
> );
> 
> What is the correct way of selecting the album?


As for this query,  some columns, AERIST, TITLE, and LENGTH, are lacking
at the GROUP BY clauses.  Probably, I would think a nearly correct one is
something like the following.


SELECT    a1.ARTIST, a1.TITLE
FROM     (SELECT a0.DISCID, a0.ARTIST, a0.TITLE       FROM tracks AS t0, albums AS a0     WHERE t0.DISCID = a0.DISCID
 GROUP BY a0.DISCID, a0.ARTIST, a0.TITLE , a0.LENGTH     HAVING  a0.LENGTH /COUNT(t0.TRACK)                 = (SELECT
max(mx.average)                      FROM (SELECT albums.DISCID,
albums.LENGTH/COUNT(tracks.TRACK)                                                   AS average
           FROM tracks, albums                                    WHERE tracks.DISCID = albums.DISCID
                GROUP BY albums.DISCID, albums.LENGTH                                 ) AS mx                    )   )
ASa1
 



Regards,
Masaru Sugawara






pgsql-sql by date:

Previous
From: Marcos Garcia
Date:
Subject: Re: Slow SELECT -> Growing Database
Next
From: Stephan Szabo
Date:
Subject: Re: Slow SELECT -> Growing Database