基本上我試圖從表中添加一些字段並重現另一張表,但沒有運氣。MYSQL在給定的時間戳列內求和的字段
初始表看起來像;
ID STATUS Min Max Mean TimeStamp
1 Motor1-ON 10 20 15 12/01/2013 05:00
2 Motor1-OFF 5 7 6 12/01/2013 05:00
3 Motor1- HOLD 1 3 2 12/01/2013 05:00
4 Motor2-ON 8 12 10 12/01/2013 05:00
5 Motor2-OFF 4 6 5 12/01/2013 05:00
6 Motor2-HOLD 1 5 3 12/01/2013 05:00
7 Motor1-ON 11 21 16 12/01/2013 05:10
8 Motor1-OFF 5 7 6 12/01/2013 05:10
9 Motor1- HOLD 1 3 2 12/01/2013 05:10
10 Motor2-ON 9 10 9.5 12/01/2013 05:10
11 Motor2-OFF 5 7 6 12/01/2013 05:10
12 Motor2-HOLD 1 5 3 12/01/2013 05:10
. . . . . .
. . . . . .
. . . . . .
狀態爲兩種類型給出:電機1和電機2爲每10分鐘增加一個時間戳。 我試圖創建一個基於第一個表的新表,以便爲每個時間戳添加電機1和電機2的3個狀態。我嘗試實現的表(目前爲止沒有運氣)應該看起來像;
Timestamp Total_ON Total_ON Total_ON Total_OFF Total_OFF Total_OFF
_Min _Max _Mean _Min _Max _Mean
12/01/2013 05:00 18 32 35 9 13 11
12/01/2013 05:10 20 31 25.5 10 14 12
. . . . . .
. . . . . .
(表繼續到包括Total_Hold_Min,Total_Hold_Max,Total_Hold_Mean)
凡
Total_ON_Min = Motor 1_ON Min + Motor 2_ON Min (For its given Timestamp)
Total_ON_Max = Motor1_ON Max + Motor2_OFF Max (For its given Timestamp)
Total_ON_Mean = Motor1_ON Mean + Motor2_OFF Mean (For its given Timestamp)
等等...。
任何人都可以提供任何建議正確的mysql語句,我應該看着實現這一點。我一直試圖實現CrossTab沒有成功。使用選擇語句和總計函數分別計算馬達1和馬達2的單獨總計是沒有問題的,但在每個時間戳內添加兩個字段我沒有成功
任何想法或相關鏈接大加讚賞,因爲我試圖建立在我的知識基礎
我是新來的mysql
感謝
附加信息:
電機狀態是非常獨立和靜態的,所以我不能分解它。數據透視表失去了我需要指出的靈活性。我提出了一個基於給定想法的解決方案,該解決方案適用於總共Min。
SELECT
`timestamp`,
status,
SUM(Min) AS `Total_ON_MIN` FROM Tablename where Status IN('Motor1_on','Motor2_on')
FROM table
GROUP BY `timestamp`
我就用這個方法通過時間戳「Total_Max_ON」等帶來隨着錯誤的集團雖然未能達到。
SELECT
`timestamp`,
status,
(SELECT SUM(Min) AS `Total_ON_MIN` FROM Tablename where Status IN('Motor1_on','Motor2_on')),
(SELECT SUM(Max) AS `Total_ON_MAX` FROM Tablename where Status IN('Motor1_on','Motor2_on')),
(SELECT SUM(Mean) AS `Total_ON_MEAN` FROM Tablename where Status IN('Motor1_on','Motor2_on'))
GROUP BY `timestamp`
任何想法用於進一步direction.Cheers
搜尋有關如何轉動在MySQL數據,然後一展身手的詳細信息;如果卡住了,請回來尋求幫助。 – eggyal
感謝您的指針。我會挖掘數據透視數據,看看它發生了什麼。 – Tino88