2017-07-31 12 views
-1

私は以下のレコードの2つのテーブル1000を持っています。postgresチャンネルを見るために別のユーザーの分の年齢範囲を見つける

私の最初のテーブルはUSERテーブルです。

ID   Name    DateOfBirth 
    1   John    1980-11-20 00:00:00.000 
    2   Denial   1940-04-10 00:00:00.000 
    3   Binney   1995-12-25 00:00:00.000 
    4   Sara    1960-11-20 00:00:00.000 
    5   Poma    1980-11-20 00:00:00.000 
    6   Cameroon   1980-11-20 00:00:00.000 
    ..... 
    ..... 

そして、私の2番目の表は、私は別の年齢層は、各チャネルで期間を含んで表示するようにPOSTGRES SQLクエリを記述する必要がCHANNEL_WATCH_DURATION_BY_USER

userid  duration channelname 
1   100   SAB 
2   200   zee Tv 
1   400   axn 
2   0   star 1 
3   800   star 2 
3   700   star 3 
4   200   star 4 
..... 
..... 

です。

under 18  20-30 age 30-40 age chaneel 
10    40   100   star 1 
20    0   200   star 2 
30    79   0   zee 
40    80   30   axn 
..... 
..... 
+3

あなたはまだ何かを試してみましたか?スタックオーバーフローは無料の宿題サービスではありません。 –

+0

あなたはこれのために 'case when'条件を使用する必要があります –

+0

否定で拒否ですか? – Strawberry

答えて

-1
SELECT 
SUM(IF(DATEDIFF(NOW(),DateOfBirth)<18,1,0)) AS under18, 
SUM(IF(DATEDIFF(NOW(),DateOfBirth) BETWEEN 20 AND 30,1,0)) as 20_to_30_age, 
SUM(IF(DATEDIFF(NOW(),DateOfBirth)BETWEEN 30 AND 40,1,0)) as 30_to_40_age, 
channelname as chaneel from 
USER a,CHANNEL_WATCH_DURATION_BY_USER b where a.ID=b.USERID GROUP BY channelname 
関連する問題