我想在间隔(10或15分钟)的两个日期时间值之间过滤数据
假设我想要数据在2014-10-14 00:00:00'和' 2014-10-15 01:00:00'每隔15分钟,我的输出将返回
2014-10-09 01:00:00 6624.067
2014-10-09 01:15:00 6623.666
2014-10-09 01:30:00 6626.044
2014-10-09 01:45:00 6624.261
2014-10-09 02:00:00 6622.448
2014-10-09 02:15:00 6616.236
2014-10-09 03:50:00 6607.514
2014-10-09 04:00:00 6614.486
表结构是:
LogDate LogTime machine_val machine_id 2014-10-09 01:00:00 6624.067 1 2014-10-09 01:05:00 6623.666 1 2014-10-09 01:10:00 6626.044 1 2014-10-09 01:00:00 6624.261 43 2014-10-09 02:00:00 6622.448 7 2014-10-09 02:00:00 6616.236 5 2014-10-09 03:50:00 6607.514 1 2014-10-09 04:00:00 6614.486 2
我尝试过分组值
按日期分组(logdate),小时(logtime),分钟(logtime)div 15;
AND
concat(LogDate,'',LogTime)> = DATE_SUB(' 2014-10-09 01:00:00',INTERVAL 30 MINUTE) AND concat(LogDate,'',LogTime)< = DATE_ADD(' 2014-10-10 01:00:00',INTERVAL 30 MINUTE)
但它没有为间隔值返回正确的值,如10分钟,25分钟......等等。
任何建议
答案 0 :(得分:0)
您需要日期为有效日期格式。
public static String getJSONFromResultSet(ResultSet rs,String keyName)
{
System.out.println(" in getJSONFromResultSet method");
Map json = new HashMap();
List list = new ArrayList();
if(rs!=null)
{
try
{
ResultSetMetaData metaData = rs.getMetaData();
while(rs.next())
{
Map<String,Object> columnMap = new HashMap<String, Object>();
for(int columnIndex=1;columnIndex<=metaData.getColumnCount();columnIndex++)
{
if(rs.getString(metaData.getColumnName(columnIndex))!=null)
columnMap.put(metaData.getColumnLabel(columnIndex),rs.getString(metaData.getColumnName(columnIndex)));
else
columnMap.put(metaData.getColumnLabel(columnIndex), "");
}
list.add(columnMap);
}
}
catch (SQLException e)
{
e.printStackTrace();
}
json.put(keyName, list);
}
return JSONValue.toJSONString(json);
它看起来很难看,但它有效......