Received: from maia.hub.org (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id 55BB0632538 for ; Wed, 14 Apr 2010 12:46:28 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.208.211]) (amavisd-maia, port 10024) with ESMTP id 16179-01 for ; Wed, 14 Apr 2010 15:46:16 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pw0-f46.google.com (mail-pw0-f46.google.com [209.85.160.46]) by mail.postgresql.org (Postfix) with ESMTP id D997A62E522 for ; Wed, 14 Apr 2010 12:46:16 -0300 (ADT) Received: by pwj9 with SMTP id 9so238855pwj.19 for ; Wed, 14 Apr 2010 08:46:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=XI5nsjLu3+QNTCMoGSifg7z63NEm3LnT1TlpNcRLMow=; b=qK8rE/JBVqaZj04tgIrHi974nEAzTp0DsQK341+suhPQ3BhAf5xQ4v89IydA+hlWw5 UDkIzcGyKmB6ZYgb4aqSXTQpeGXNluKppetw6nwrvZqdxKwTiYYxAcrDYBRFNw6AX+hX h3jv7gfrmGSKd6UeYwzHWtKMiF4sG3Eq0T/CM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=fmMNBBGL7ArCpN6ad+ol5t1wQF5BQcnk2roqBDCNTrIh4eoK6WbcbX1eUT4oA59Uwa WY/VTdmfPpVMWN2t4Dy1WdwJi63xn6WxZDd5wORwYYXmium2bRM5029mQlvrvs1vY9FB LKzfWjeoUFHP5Qdxft/l9LQz/xtG+8CbUxzDQ= MIME-Version: 1.0 Received: by 10.231.37.66 with HTTP; Wed, 14 Apr 2010 08:46:13 -0700 (PDT) In-Reply-To: <20100414145434.GA13682@apartia.fr> References: <20100414145434.GA13682@apartia.fr> Date: Wed, 14 Apr 2010 08:46:13 -0700 Received: by 10.140.87.40 with SMTP id k40mr7287827rvb.251.1271259973236; Wed, 14 Apr 2010 08:46:13 -0700 (PDT) Message-ID: Subject: Re: graphing time series data From: Richard Broersma To: pgsql-sql@postgresql.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-2.022 tagged_above=-10 required=5 tests=AWL=-0.122, BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201004/52 X-Sequence-Number: 33979 On Wed, Apr 14, 2010 at 7:54 AM, Louis-David Mitterrand wrote: > Now, I'd like to make a graph of average prices per week, per > id_product. As some prices don't vary much, distribution would not be > ideal if I simply 'group by extract(week from p.modified)'. I created a view for a similar problem that I had. Only I was calculating the counts per day. this query could be crafted to work for you. CREATE OR REPLACE VIEW opendiscrepencydailycounts AS WITH opendays(day) AS ( SELECT gs.day::date AS day FROM generate_series((( SELECT min(discrepencylist.discstartdt) AS min FROM discrepencylist))::timestamp without time zone, 'now'::text::date::timestamp without time zone, '1 day'::interval) gs(day) ) SELECT opendays.day, ds.resolvingparty, count(opendays.day) AS opendiscrepancies FROM discrepencylist ds, opendays WHERE opendays.day >= ds.discstartdt AND opendays.day <= LEAST('now'::text::date, ds.resolutiondate) GROUP BY opendays.day, ds.resolvingparty ORDER BY opendays.day, ds.resolvingparty; -- Regards, Richard Broersma Jr. Visit the Los Angeles PostgreSQL Users Group (LAPUG) http://pugs.postgresql.org/lapug