如何从给定的数据库中获取充电时间?

时间:2012-08-14 07:50:57

标签: mysql heidisql

我有问题。我想在值改变时找到行值之间的时间差异。我的表中有以下类似的数据,例如:

------------------------------------
    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编程的新手。请帮我!!

2 个答案:

答案 0 :(得分:1)

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

  • 使用存储过程和MySQL programming constructs来实现预期效果
  • 查询数据并使用您构建应用程序其余部分的编程语言来处理它

如果您没有特别强制在数据库中进行此计算,我建议使用后一种选择 - 编程语言通常更适合这些类型的计算,并且您的应用程序将更少依赖于MySQL作为数据库。

答案 1 :(得分:0)

select avg(Time(DateandTime)) from yourTable where DCStatus = 'Charging' or DCStatus = 'DisCharging' group by DCStatus;

我不确定它在MySQL中是否有效,我没有时间对其进行测试,但它应该可以工作。