Datetime之间的MySQL跨表查询

Datetime之间的MySQL跨表查询,mysql,crosstab,Mysql,Crosstab,我在名为hourlyMetrics_CubicalPrime的表中有名为hourDate(日期时间)、appUsed(读数)、energyUsage(读数)的字段,我正在使用交叉表查询,如下所示: SELECT hourDate, sum(IF (Time(hourDate) between '22:59:00' and '23:01:59', appUsed, 0)) as AppUsed_11PM, sum(IF (Time(hourDate) between '23:59:00' and

我在名为hourlyMetrics_CubicalPrime的表中有名为hourDate(日期时间)、appUsed(读数)、energyUsage(读数)的字段,我正在使用交叉表查询,如下所示:

SELECT hourDate,
sum(IF (Time(hourDate) between '22:59:00' and '23:01:59', appUsed, 0)) as AppUsed_11PM,
sum(IF (Time(hourDate) between '23:59:00' and '23:59:59', appUsed, 0)) as AppUsed_12AM,
sum(IF (Time(hourDate) between '22:59:00' and '23:01:59', energyUsage, 0)) as EnergyUsed_11PM,
sum(IF (Time(hourDate) between '23:59:00' and '23:59:59', energyUsage, 0)) as EnergyUsed_12AM

FROM cubical_database.hourlyMetrics_CubicalPrime 
where Date(hourDate) between '2016-01-01' and '2016-01-10'
group by Date(hourDate)
上述查询提供以下数据:

hourDate   AppUsed_11PM  AppUsed_12PM  EnergyUsed_11PM  EnergyUsed_11PM
2016-01-01 01:00:00 5   23  108.283057  2631.7824980000005
2016-01-02 01:00:00 1   14  95.149445   2616.103333
2016-01-03 01:00:00 3   24  168.27166600000004  7898.585555000001
2016-01-04 01:00:00 0   16  700.304167  4599.651944
2016-01-05 01:00:00 0   7   245.32194499999997  2301.689999
2016-01-06 01:00:00 3   14  418.844444  2546.4463889999997
2016-01-07 01:00:00 1   21  739.558055  2838.094999
2016-01-08 01:00:00 35  0   78.631667   69.030277
2016-01-09 01:00:00 1   0   57.676111   56.836389
2016-01-10 01:00:00 0   0   75.67583400000001   74.208054
我想要在查询中指定的时间段内appUsed、energyUsage的读数之和,但不获取准确的读数值

任何人都可以向我提出正确的问题

这是显示表中实际数据的主要查询:

SELECT hourDate, appUsed, energyUsage FROM cubical_database.hourlyMetrics_CubicalPrime where ((Date(hourDate) between '2016-01-01' and '2016-01-10') and (TIME(hourDate) between '22:00:00' and '23:59:59')) group by hourDate order by hourDate ASC
它给出了输出

hourDate      appUsed energyUsed
2016-01-01 22:00:00 0   0
2016-01-01 23:00:00 0   0
2016-01-01 23:59:00 0   0
2016-01-02 22:00:00 0   0
2016-01-02 23:00:00 0   0
2016-01-02 23:59:00 0   1.928056
2016-01-03 22:00:00 0   0
2016-01-03 23:00:00 0   0
2016-01-03 23:59:00 0   5050.89
2016-01-04 22:00:00 0   0
2016-01-04 23:00:00 0   0
2016-01-04 23:59:00 0   0
2016-01-05 22:00:00 0   0
2016-01-05 23:00:00 0   0
2016-01-05 23:59:00 0   0
2016-01-06 22:00:00 0   0
2016-01-06 23:00:00 0   0
2016-01-06 23:59:00 0   0
2016-01-07 22:00:00 0   0
2016-01-07 23:00:00 0   0
2016-01-07 23:59:00 0   0
2016-01-08 22:00:00 0   0
2016-01-08 23:00:00 0   0
2016-01-08 23:59:00 0   0
2016-01-09 22:00:00 0   0
2016-01-09 23:00:00 0   0
2016-01-09 23:59:00 0   0
2016-01-10 22:00:00 0   0
2016-01-10 23:00:00 0   0
2016-01-10 23:59:00 0   0

这些数据表明交叉表查询给出的结果是错误的。

您哪里出错了?请提供一些示例数据以准确了解您的问题?我得到的是结果表中的值,我认为是全天读数的总和,而不是上述时间之间的值period@AjayMakwana我更新了问题。。