pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Weimao Ke <wke@indiana.edu>
To: pgsql-sql@postgresql.org
Subject: pgsql aggregate: conditional max
Date: Sun, 12 Mar 2006 00:09:48 -0500
Message-ID: <4413AD1C.9050604@indiana.edu> (raw)

Hi,

I need a special aggregation function. For instance, given the following 
table data:

   aid    |   cat   | weight
----------+---------+---------
 a1  | Drama   |       1
 a1  | Romance |       6
 a1  | Short   |       1
 a1 | Other   |       7
 a2  | Comedy  |       1
 a2 | Drama   |       2
 a3  | Drama   |       1
 a3 | Adult   |       2
 a3 | Comedy  |       1
 a3 | Other   |       1

I want to group by "aid" and choose the category (i.e., "cat") with the 
largest "weight":

aid   |   max_weighted_cat
----+---------------------
a1   |   Other
a2   |   Drama
a3   |   Adult

Any ideas? Thank you! :)

-- 
All best, 

Weimao

Weimao Ke
Indiana University Bloomington
School of Library and Information Science
http://ella.slis.indiana.edu/~wke




view thread (9+ messages)  latest in thread

Message-ID: <4413AD1C.9050604@indiana.edu>
Permalink:  ../4413AD1C.9050604@indiana.edu/
Also on:    postgresql.org/message-id/4413AD1C.9050604@indiana.edu

 · 

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: wke@indiana.edu
  Subject: Re: pgsql aggregate: conditional max
  In-Reply-To: <4413AD1C.9050604@indiana.edu>

* 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