2014-11-14 34 views
0

我想在現有輸出中添加一列AVG。首先我用INNER JOIN計算電力和天然氣的用量。但是現在我想將「Day hour」的AVG添加到輸出中。在輸出中添加列平均值MySQL

表列

Id, Datum, Tijd, consumed_rate1, consumed_rate2, gas 

當我想的最後24條記錄與consumed_rate1,consumed_rate2和天然氣的使用量輸出,我用這個查詢:

SELECT 
    A.Datum AS Datum, 
    A.Tijd AS Tijd, 
    A.Daguur AS Daguur, 
    A.Aantal AS Aantal, 
    A.Consumed_rate1 + A.Consumed_rate2 AS Elektra, 
    (A.Consumed_rate1 + A.Consumed_rate2 - B.Consumed_rate1 - B.Consumed_rate2) AS 'Elektra verbruikt', 
    A.gas AS Gas, (A.gas - B.gas) AS 'Gas verbruikt' 
FROM smartmeter A 
INNER JOIN smartmeter B ON B.id = (A.id-1) 
ORDER BY A.Id DESC 
LIMIT 24 

現在我想添加一個列使用來自consume_rate1 + consumed_rate2和gas的使用AVG。我想我必須與左連接一起工作,但我不知道如何。有沒有任何機構可以幫助我呢?

+0

你能qrite它的僞代碼我不明白'consumed_rate1 + consumed_rate2和gas'.What你的意思和天然氣? – Mihai 2014-11-14 18:27:22

回答

0

嘗試是這樣的:?

SELECT 
    AVG(Elektra), AVG(Gas) 
FROM(
    SELECT 
     A.Datum AS Datum, 
     A.Tijd AS Tijd, 
     A.Daguur AS Daguur, 
     A.Aantal AS Aantal, 
     A.Consumed_rate1 + A.Consumed_rate2 AS Elektra, 
     (A.Consumed_rate1 + A.Consumed_rate2 - B.Consumed_rate1 - B.Consumed_rate2) AS 'Elektra verbruikt', 
     A.gas AS Gas, (A.gas - B.gas) AS 'Gas verbruikt', 
    FROM smartmeter A 
    INNER JOIN smartmeter B ON B.id = (A.id-1) 
    ORDER BY A.Id DESC 
    LIMIT 24 
) as a