2017-07-11 9 views
0

私は広告追跡パネルにやっています。私は私のデータベースに3台を持ってどのように異なる日付でグループ化し、グループ日付に各データを集計することができます

の1-キャンペーン

id 
orderID 
name 
startDate 
endDate 
goal 
type 
status 
unitPrice 
total 

2 - ライン・アイテム

lineItem_id 
id 
lineItemOrderID 
lineItemName 
lineItemStartDate 
lineItemEndDate 
lineItemStatus 
lineItemType 
lineItemGoal 

、3-ライン・アイテム静

statics_id 
lineItem_id 
inventoryID 
inventoryName 
impression 
click 
staticsDate 

私の表の例:

line item statics table example (data coming per 10 min)

私はこの結果を好きにしたい:I異なる日付でグループとは、グループの各データを合計するにはどうすればよい

this is i want photo

をさかのぼり

私のコード例:(trueではない、値はfalse)

SELECT inventoryNameGI, SUM(impressionGI), SUM(clickGI) 
FROM 
( 
    SELECT DISTINCT inventoryName AS inventoryNameGI, 
      MAX(impression) AS impressionGI, 
      MAX(click) AS clickGI 
    FROM `line_items_statics` 
    WHERE `lineItemID` = '5' 
    AND staticsDate BETWEEN '2017-07-01 00:00:00' 
          AND '2017-07-03 23:59:59' 
    GROUP BY `inventoryName` 
) AS toplamTablo 
+0

派生テーブルに再度「GROUP BY」を使用する必要があります – LONG

答えて

0

これを試してみてください - あなたのネストされたクエリでは、唯一のDATEDATETIMEを変換するCONVERTを使用しています。

SELECT INVENTORYID, SUM(IMPRESSION), SUM(CLICK), CONVERT(DATE,STATICSDATE) 
FROM `line_items_statics` 
WHERE `lineItemID` = '5' 
    AND normalDate BETWEEN '2017-07-01' AND '2017-07-03' 
GROUP BY INVENTORYID, 
     CONVERT(DATE,STATICSDATE) 
関連する問題