我可以通過查詢來獲得每月和每家商店18至24歲的顧客數量。 我在做這樣的:如何計算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
在第一個查詢,其中一個店有它不管理的情況下沒有客戶。如果沒有,如何獲得0?
如何同時查詢多個日期範圍?
在選擇列表中有一個表達式,每個年齡組都有一個表達式。例如。 ',計數(當......然後1結束的情況下)爲18_age_25,計數(當...的時候爲 – jarlh
年齡? –