2016-06-15 9 views
-3

2つの列を比較しようとしています。& exit_page trueの値が1の場合、その値はバウンスします。SQL - 2つの列を比較してIF計算の値を使用します。

Page_entry | exit_page | Bounce 
    1    1  true 
    0    1  false 
    etc   etc  ...... 

これは私が思い付いたものです、それは私だけ真の値

select hit_id,visit_num, 
    CASE 

     WHEN entry_page = exit_page 
     THEN 'True' 
     ELSE 'False' 

    END as Bounce 
FROM [dbo].[Primary] 
WHERE entry_page = exit_page 
END 

を示すが、今私は

SUM(IF Bouce = TRUE THEN 1 ELSE 0 END)/page_visit 
+1

'page_visit'とは何ですか?私はあなたの例のデータでそれが表示されません。 –

+1

あなたの 'WHEN'と' WHERE'節は同じです!そう、はい、それは 'TRUE'を表示するだけです。 – JohnB

+0

置き換え: 'CASE WHEN entry_page = exit_page THEN '真' ELSE 'バウンスとしてバウンス'とバウンス ' –

答えて

0

のような計算を記述する必要があなたは何かを探していますこのような? :

select hit_id,visit_num, 
    SUM (CASE entry_page 
     WHEN exit_page THEN 1 
     ELSE 0  
     END)/page_visit as ratio 
FROM [dbo].[Primary] 
group by hit_id,visit_num,page_visit ; 
+0

'entry_page'はvarcharカラムです... –

0
CASE WHEN entry_page = 1 AND exit_page = 1 THEN 'True' ELSE 'False' END as 'BounceAnswer' 

SUM(CASE WHEN entry_page = 1 AND exit_page = 1 THEN 1 ELSE 0 END) as 'BounceCount' 
0

比として、visit_num、 SUM(CASE entry_page exit_page THEN 1 entry_page THEN 1 ELSE 0
END)/ visit_num [DBO] FROM [プライマリをhit_id選択します] グループby hit_id、visit_num、entry_page;

これは私を十分に感謝しました!!!!!

関連する問題