2016-08-19 10 views
0

私は様々なランディングページへのヒットを記録し、変換があればそれぞれに変換を追加するデータベースを持っています。可能であれば、「日付> = 8月18日」のような日付セレクタを使用して、各ランディングページの合計ヒット数、コンバージョン数、各ページのコンバージョン%を示す小さな表を出力したいと考えています。mysqlの出力分割テスト済みのウェブページ数、コンバージョン、パーセント

データベースは次のようになります:

page |visitor ip | conversion | date 
pg1 | x.x.x | 1  | Aug 19 
pg3 | x.x.x | 0  | Aug 19 
pg1 | x.x.x | 0  | Aug 19 
pg5 | x.x.x | 0  | Aug 19 
pg1 | x.x.x | 0  | Aug 19 
pg5 | x.x.x | 1  | Aug 19 
pg1 | x.x.x | 1  | Aug 19 
pg3 | x.x.x | 0  | Aug 19 
pg5 | x.x.x | 0  | Aug 19 

はそうのような出力テーブルをしたいと思います:

page | total hits | total conversions | conversion rate 
pg1 | 4   |  2    |  50% 
pg3 | 2   |  0    |  0 
pg5 | 3   |  1    |  33% 

ありがとう!!!!!!!!!!

+1

'SUM'、' GROUP BY' –

+0

と 'COUNT'は、現在私が持っています: SELECTページ、カウント(ページ) 統計情報 ページCOUNT(ページ)BY ORDER DESC によってGROUPが、これは単に最初の2列を示し、それはしばらくしていること – themike

+0

に総コンバージョン数を追加する方法がわからないと、あなたはどんな答えを選択しなかった、また与えましたフィードバック。あなたの問題を理解し、解決策を見つけてあなたのために書き留めるには、多くの時間が必要です。解決策があなたのために働いた場合は、それを選択しupvoteします。そうでない場合は、少なくとも理由をお知らせください。 – BeetleJuice

答えて

0

使用このクエリ:

SELECT 
    page , 
    count(page) as 'total hits', 
    SUM(IF(conversion=1,1,0)) as 'total conversions', 
    CONCAT(ROUND(SUM(IF(conversion=1,1,NULL))/count(page) * 100),'%') as Rate  

FROM stats GROUP by page ORDER BY COUNT(page) DESC 

この結果を得るために:

enter image description here

Live Demo

関連する問題