2013-03-11 2 views

답변

8

난 당신이 FROM_UNIXTIME

GROUP BY 
    DATE_FORMAT(FROM_UNIXTIME(time_column), '%Y %m %d %H')) 
4
SELECT * 
FROM table 
GROUP BY DATE_FORMAT(FROM_UNIXTIME(time_col_name), '%H') 

MySQL의 Date documentation을 확인하십시오.

편집 : 대신 안정적으로 시간의 형식이 반환 결정

사용 DATE_FORMAT. DATE_FORMAT documentation을 참조하십시오. 참고 : 포맷 %의 H는, 형식 00, 01 시간의 값을 반환 ...처럼 23

+1

HOUR (FROM_UNIXTIME (...)) 나던 작업을 비트를 사용하여 내 시간 떨어져 몇 초를 면도 할 수 있었다. –

+0

'SELECT' 절로 이동하고 별칭을 참조하십시오. – Aiias

1

예시 :

SELECT HOUR(FROM_UNIXTIME(unixCol)) 
FROM tbl 
GROUP BY HOUR(FROM_UNIXTIME(unixCol)) 

HOUR는 UNIX 타임 스탬프 후의 시간을 추출 할 날짜로 덮여있다.

See the documentation

0

는 DB 날짜 등의 변수에 데이터를하고 그것을 에코 것을 넣어보십시오 의미 생각합니다.

$timestamp = strtotime($db_data); 
echo date("m-d-Y", $timestamp); 
+0

OP의 질문을 실제로 읽었습니까? –

0

나는이 초기 질문 후 몇 년 동안 알고 있지만 더 큰 데이터 세트를 처리하는 경우 이는 쿼리 세트의 모든 행에 대해이 함수를 호출을 실행하는 데 시간이 오래 걸릴 수 있습니다.

나는 모듈러 산술의이 도움이

GROUP BY FLOOR(time_col/(60*60) MOD 24) 

희망 :

관련 문제