COUNT() BASED ON MULTIPLE WHERE CONDITIONS - Mailing list pgsql-novice

From ...tharas
Subject COUNT() BASED ON MULTIPLE WHERE CONDITIONS
Date
Msg-id 82d9696a0905170605r301fa515w7c13a074f1ed40ee@mail.gmail.com
Whole thread Raw
Responses Re: COUNT() BASED ON MULTIPLE WHERE CONDITIONS
List pgsql-novice

Dear All,

I want to write a query which returns three different counts based on three different conditions. The following data set and result set
may explain my scenario.

Table Data      
        PersonId     work status          Year
               1               W                  2008
               2               W                  2008
               3               T                    2008
               4               S                   2008
               5               W                  2008
               6               T                    2007
               7               S                   2009

Required Result set

       
        Year  W_count  T_count  S_Count
        2007       0            1           0
        2008       3            1           1
        2009       0            0           1
       
I could write three separate queries for this like

        select count(PersonId) as W_count from my_table where Year = 2008
        and workstatus = 'W'
       
can I get the whole result in a single query?

Thanks all.
roshni

pgsql-novice by date:

Previous
From: Dallas Morisette
Date:
Subject: Include result of function call within WHERE clause in results
Next
From: Dallas Morisette
Date:
Subject: Re: Include result of function call within WHERE clause in results