在mysql

时间:2015-04-27 12:48:54

标签: mysql sql database

我想在间隔(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分钟......等等。

任何建议

1 个答案:

答案 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);
它看起来很难看,但它有效......