私は18歳から24歳までの店舗に来る顧客の数を1か所あたりで取得するためのクエリを実行できます。 私はこのようにそれをやっている:PostgreSQLのいくつかの日付範囲で発生数をカウントする方法
select year, month, shop_id, count(birthday)
from customers
where birthday
BETWEEN '1992-01-01 00:00:00' AND '1998-01-01 00:00:00'
group by year, month, shop_id;
を今、私は同時にいくつかの範囲のために、このクエリを作る問題を抱えています。
私は現在、このデータベーススキーマがあります。
shop_id | birthday | year | month |
--------+----------+------+--------
567 | 1998-10-10 | 2014 | 10 |
567 | 1996-10-10 | 2014 | 10 |
567 | 1985-10-10 | 2014 | 10 |
234 | 1990-10-10 | 2014 | 10 |
123 | 1970-01-10 | 2014 | 10 |
123 | 1974-01-10 | 2014 | 11 |
をそして、私はこのような何かを取得したいと思います:最初のクエリでは
shop_id | year | month | 18 < age < 25 | 26 < age < 35
--------+------+-------+---------------+-------------
567 | 2014 | 10 | 2 | 1
234 | 2014 | 10 | 1 | 0
123 | 2014 | 10 | 0 | 0
を、それが1店が持っているケースを管理していませんいいえ顧客。存在しない場合は0を得る方法?
複数の日付範囲を同時に照会するにはどうすればよいですか?
各年齢グループに1つずつ、選択リストに大文字/小文字の表記があります。例えば。 (今日の時点で – jarlh
年齢? –