2013-05-22 3 views
0

나는 다음과 같은 테이블이 있다고 가정MySQL의 타임 스탬프 차이점을 기준으로 정렬 방법?

name  birth(timestamp)   death(timestamp) 
-------- ---------------------- --------------------- 
person1  22-05-2013 21:59:00  22-05-2013 21:59:00 
person2  20-05-2013 21:58:58  27-06-2025 21:59:55 

어떻게 처음 가장 긴 수명 사람을 반환하는 방법으로이 테이블을 정렬 할 수 있습니다?

+0

(http://mattgemmell.com/2008/12/08/what 여기

DATEDIFF() 기능에 대한 MySQL의 참조입니다 -have-you-tried /) [Stack Overflow] (http://stackoverflow.com/about)를 참조하십시오. –

답변

0

는 테이블 people라는 가정하면보다 정확한 계산을 위해 SELECT * FROM people ORDER BY DATEDIFF(death, birth) DESC

TIMESTAMPDIFF()를 사용하여 측정 단위 지정

SELECT * FROM people ORDER BY TIMESTAMPDIFF(MINUTE, birth, death) DESC

여기

후일 공급된다 마지막으로, 이전 날짜부터 먼저 (뒤로부터 DATEDIFF()).

DATEDIFF() 함수는 매개 변수 1에서 매개 변수 2까지의 일 수를 계산합니다. DESC (내림차순)를 주문하면 MySQL에 가장 큰 요일을 먼저 반환하도록 지시합니다. http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff

그리고 TIMESTAMPDIFF()에 대한 : https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff [? 당신이 시도 무엇]

+0

고맙습니다.하지만 제 경우에는 차이가 대부분 분 또는 시간이 될 것이므로 Time Difference 기능이 필요합니다. 그러나 DATEDIFF()는 하루 미만의 차이를 인정합니까? – void

+0

괜찮습니다! 업데이트 된 답변보기 :) –

관련 문제