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

据我所知,您将无法使用标准查询来执行此操作。你有两个选择:

  • 使用存储过程和 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 回答