델파이에서 MySql Query를 작성해서 사용하는 데
아래와 같이 Date_Format과 Time_Format을 구분하여 GROUP BY 를 적용하면 이상이 없습니다.
sql_ := 'SELECT ' + DefaultMySqlWhereField_ + ', DATE_FORMAT(' + DefaultMySqlWhereField_ + ',"%d") AS aaday, '+
DefaultMySqlCodeField_ + ', ' +
//DefaultMySqlValueField_ + ' ' +
'AVG (' + DefaultMySqlValueField_ + ') AS aavalue1 ' +
'FROM ' + DefaultMySqlTable_ + ' ' +
'WHERE (' + DefaultMySqlWhereField_ +
'>= "' + newStartMon +
'" AND ' + DefaultMySqlWhereField_ + '< "' + newEndMon + '") ' +
'GROUP BY DATE_FORMAT(' + DefaultMySqlWhereField_ + ', "%Y-%m-%d"), TIME_FORMAT(' + DefaultMySqlWhereField_ + ', "%H"), ' +
DefaultMySqlCodeField_ +';';
그런데 GROUP BY에서 Datetime_Format을 사용하면 응답이 없습니다.
고수님들의 한수 가르침 부탁드립니다.
'GROUP BY DATETIME_FORMAT(' + DefaultMySqlWhereField_ + ', "%Y-%m-%d %H"), ' + //24시간 단위만 필요합니다.
DefaultMySqlCodeField_ +';'; //-->> 응답없슴
MySql은 5.0버전을 사용하고 있으며,
Show Variables로 서버의 지원함수를 조회하면
datetime_format = %Y-%m-%d %H:%i:%s로 나타납니다.
|