Highcharts:在图表中使用GROUP BY日期时出现问题

时间:2014-07-15 21:09:24

标签: javascript sql datetime highcharts gettime

我有一个折线图可以正常使用以下查询:

SELECT peakdate, peakusage
FROM peaktable
WHERE peakDate BETWEEN '#arguments.dtBegin#' AND '#arguments.dtEnd#'             
ORDER BY peakdate

日期输出类似于:2014-01-01 00:00:00.0我将日期时间图表中的转换为毫秒没有问题。我使用JavaScript getTime()函数转换日期,一切都很顺利。

现在,我需要显示每天的MAX峰值,而不是显示图表上的所有数据点。这是我写的在SQL Server中运行良好的查询:

SELECT convert(varchar(10), peakdate, 120) as peakdate , MAX(peakusage)
FROM peaktable
WHERE peakDate BETWEEN '#arguments.dtBegin#' AND '#arguments.dtEnd#'
GROUP BY convert(varchar(10), peakdate, 120)     
ORDER BY convert(varchar(10), peakdate, 120)

此日期输出看起来像2014-01-01,最后没有时间。我把它保存在varchar(10),以便在日期级别进行分组。遗憾的是,JavaScript getTime()函数会抛出错误,因为没有时间元素附加到日期。所以我认为我很聪明,我在00:00:00.0连接到SQL语句中的日期结束,但它仍然是一个错误。我猜JavaScript并没有将其视为日期:

SELECT CONCAT(convert(varchar(10), peakdate, 120),' 00:00:00.0') as peak , MAX(peakusage)
FROM peaktable
WHERE peakDate BETWEEN '#arguments.dtBegin#' AND '#arguments.dtEnd#'
GROUP BY convert(varchar(10), peakdate, 120)     
ORDER BY convert(varchar(10), peakdate, 120) 

有没有人对如何在Highcharts日期时间表中使用没有时间元素的日期对象有任何想法?我要进行图表的下一个查询是显示该月的峰值点。所以日期格式看起来像yyyy-mm。

0 个答案:

没有答案