0

私は問題があります。行の値が変更されたときの行の値の時間差を見つけたい。テーブルに次のようなデータがあります。

------------------------------------
    DateandTime     |    DCStatus
------------------------------------
2012-01-01 01:00:00 |    Using
2012-01-02 02:00:00 |    Using
2012-01-03 03:00:00 |    Using
2012-01-04 04:00:00 |    Charging
2012-01-05 05:00:00 |    Charging
2012-01-06 06:00:00 |    Using
2012-01-06 07:00:00 |    Using
2012-01-06 08:00:00 |    Using
2012-01-05 09:00:00 |    Charging
2012-01-05 10:00:00 |    Charging
2012-01-05 11:00:00 |    Charging
------------------------------------

この特定のデータベースから、平均充電時間と放電時間を計算するにはどうすればよいですか? 私はSQLプログラミングに非常に慣れていません。私を助けてください!!

4

2 に答える 2

1

私の知る限り、標準のクエリを使用してこれを行うことはできません。次の 2 つのオプションがあります。

  • ストアド プロシージャと MySQLプログラミング構造を使用して、目的の効果を達成する
  • データをクエリし、アプリケーションの残りの部分を構築しているプログラミング言語を使用して処理します

データベースでこの計算を特に強制されない場合は、後者のオプションをお勧めします。プログラミング言語は一般に、これらの種類の計算に適しているため、アプリケーションはデータベースとしての MySQL にあまり依存しません。

于 2012-08-14T08:28:02.613 に答える
0
select avg(Time(DateandTime)) from yourTable where DCStatus = 'Charging' or DCStatus = 'DisCharging' group by DCStatus;

これが MySQL で機能するかどうかはわかりません。テストする時間はありませんが、機能するはずです。

于 2012-08-14T09:08:12.933 に答える