2012-04-30 4 views
0

쉽게 말하자면 그것은 시작에 MYSQL을 알 수 있습니다시간은?에서 시작 하시겠습니까?

"SELECT * from table WHERE date = 2012-04-29 order by time" 

MYSQL은 다음 시간에 따라 순서 00:00:00

내 질문으로 시작하는 것, 예를 들어, MYSQL의 시간에 주문할 수 있습니다 06 : 00 : 기본값 대신.

+0

동일한 필드에 날짜와 시간을 저장하지 않는 이유가 있습니까? WHERE datetime_field> '2012-04-29 06:00:00'order by datetime_field –

+0

따라서'00 : 00'과'06 : 00' 사이의 시간이있는 행은 표시되어서는 안됩니까? 아니면 마지막에 표시됩니까? –

+0

넣으면 끝나는 연도가 표시됩니다. Lynn의 의견과 SoEnlion의 대답 모두 제가 수술보다 더 많이 또는 적게해야한다고 제안합니다. 나는 이것을하고 싶지 않다. 나는 단순히 주문 시작 시점을 제어하기를 원한다. – jamjam

답변

0
SELECT * 
    FROM table 
WHERE date = 2012-04-29 
ORDER BY CASE WHEN hour(time) < 6 THEN 1 ELSE 0 END, time; 

STIL을, 나는 그것이 이상의 오류가 발생하기 쉬운 날짜와 시간이 분리 가지고 찾을 수 있습니다.

+0

우수. "ORDER BY CASE"로 봤습니다. http://www.extremeexperts.com/SQL/Articles/CASEinORDER.aspx를 찾아보십시오. 감사 – jamjam

1

당신은이 쿼리를 시도 할 수 있습니다 :

SELECT * 
FROM table 
WHERE date = 2012-04-29 
    AND TIME>= 06:00:00 
ORDER BY time; 
관련 문제