2016-10-16 8 views
0

machinesensorのうち、のすべてを同じ日にMySQLテーブルに追加したいと思います。今日の日付が17/10/2016で、テーブルに次のデータがある場合:さまざまな列を制約することに基づいてさまざまな行を合計する方法

+-------------------+---------+---------+---------+ 
|  timestamp + value + sensor | machine | 
+-------------------+---------+---------+---------+ 
| 10/10/16 01:20:23 | 10 | 1 | 20 | 
| 10/10/16 02:33:05 | 23 | 1 | 20 | 
| 11/10/16 03:14:40 | 17 | 1 | 20 | 
| 11/10/16 05:53:00 | 99 | 1 | 20 | 
| 11/10/16 06:29:20 | 32 | 1 | 20 | 
| 11/10/16 07:10:28 | 23 | 2 | 20 | 
| 11/10/16 10:00:05 | 45 | 1 | 20 | 
| 12/10/16 03:30:00 | 12 | 1 | 20 | 
| 12/10/16 14:00:43 | 10 | 1 | 20 | 
| 12/10/16 16:40:12 | 89 | 1 | 20 | 
| 12/10/16 20:00:45 | 87 | 1 | 20 | 
| 12/10/16 23:42:23 | 24 | 2 | 20 | 
| 13/10/16 14:02:00 | 97 | 1 | 20 | 
| 14/10/16 03:03:04 | 04 | 1 | 20 | 
| 14/10/16 15:56:00 | 12 | 1 | 20 | 
| 15/10/16 22:18:23 | 93 | 1 | 20 | 
| 16/10/16 12:29:45 | 23 | 1 | 20 | 
+-------------------+---------+---------+---------+ 

次のように入力します。

+-----------------+---------+---------+---------+ 
| timestamp + value + sensor | machine | 
+-----------------+---------+---------+---------+ 
|  10/10/16 | 33 | 1 | 20 | 
|  11/10/16 | 193 | 1 | 20 | 
|  12/10/16 | 198 | 1 | 20 | 
|  13/10/16 | 99 | 1 | 20 | 
|  14/10/16 | 16 | 1 | 20 | 
|  15/10/16 | 93 | 1 | 20 | 
|  16/10/16 | 23 | 1 | 20 | 
+-----------------+---------+---------+---------+ 

私はmachineを与えられ、そして日付でグループ化するために与えられたsensorのためのすべてのvaluesを追加したいと思います。私はこのexampleを見てみることにしましたが、あまりにも多くのエラーがありました。

Q:このタイプの出力を得るにはどうすればよいですか?

答えて

0

これは、日付のすべての値になり、その特定の日付の対応する合計値で日付を返します。

SELECT DATE( `timestamp`) DateOnly, SUM( `value`) AS `value` , `sensor` , `machine` 
FROM my_table 
WHERE `sensor` = 3 
AND `machine` = 20 
GROUP BY DateOnly, `machine` , `sensor` 

日付によってちょうどグループ化されます。

0

あなたが(代わりに、単一の1の)全てのセンサーと機械のテーブルをしたい場合は、あなたが使用できる例えばので、あなたが複数の列でグループをすることができますSUMGROUP BY

SELECT date, SUM(value) as value, sensor, machine 
FROM my_table 
WHERE senson=1 AND machine=20 
GROUP BY date 

を使用する必要があります。

SELECT date, SUM(value) as value, sensor, machine 
FROM my_table 
GROUP BY date, sensor, machine 
関連する問題