5

JqueryHighchartsプラグインを使用して視覚化されたグラフを作成しようとしています。

しかし、JSを挿入するために必要なデータを作成するためのクエリを書くことができません。

私がする必要があるのは、顧客に、何人のユニークな訪問者が彼の求人広告をクリックしたかを示すことです。私がやろうとしていることを最終的な出力で見ることができます。

ここに画像の説明を入力してください

そして、これは必須のJSの一部です。

xAxis: {
   categories: ['01.05', '02.05', '03.05', '04.05', '05.05',
                '06.05', '07.05','08.05']
   },
series: [{
            name: 'Unique',
            data: [12,8,9,10,5,4,11,30]
        }]

統計のある表。

Job_Ad_Statistics
-----------------
jobID,  jobstat_Date,     job_statUnique
1       07.05.2011        0
1       07.05.2011        1
1       07.05.2011        1
2       06.05.2011        1
3       06.05.2011        1
1       05.05.2011        1
1       04.05.2011        1
*Currently, table has 20k rows.

Seriesフィールドにデータを挿入するには、job_statUnique = 1 AND jobstat_Dateが現在から7日前までの間に、複数のカウントを取得する必要があります。

Expected Result:
----------------
Day              Unique_ViewCount_of_jobID (Assuming ID 1)
.... start from 7 days earlier     
02.05            0
03.05            0    
04.05            1
05.05            1
06.05            0
07.05            2 
08.05            0 - today

手伝ってくれてありがとう。

4

2 に答える 2

4

誰かが答えを必要とする場合に備えて、これが私がそれを解決した方法です。

  ;WITH Date_Range_T(d_range) AS 
     (
       SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()) - 6, 0) 
       UNION ALL SELECT DATEADD(DAY, 1, d_range) 
       FROM Date_Range_T 
       WHERE DATEADD(DAY, 1, d_range) < GETDATE()
     )

  SELECT d_range, COUNT(job_statID) as total 
  FROM Date_Range_T 
       LEFT JOIN Jobs_Stats on (job_stat_Date=d_range) 
  GROUP BY d_range ORDER BY d_range ASC

注: job_stat_Date は DateTime ではなく Date でなければなりません

于 2011-05-09T13:50:57.850 に答える
0

データをどのように表示したいかは少しわかりませんが、次のようにしてみてください。

SELECT jobID, COUNT(jobID) 
FROM Job_Ad_Statistics
WHERE jobstat_Date BETWEEN GETDATE() AND DATEADD(day, -7, GETDATE())
GROUP BY JobID

カウントだけが必要な場合は、選択から JobID を削除できます。

SELECT COUNT(jobID) 
FROM Job_Ad_Statistics
WHERE jobstat_Date BETWEEN GETDATE() AND DATEADD(day, -7, GETDATE())
GROUP BY JobID
于 2011-05-08T15:10:32.733 に答える