2009-10-20 8 views

답변

2

비교적 간단합니다.

t = (time of entry post) - (Dec 8, 2005) 

당신은 당신에게 비교의 나머지 부분에서 사용할 수있는 정수를 제공하는 (당신이 unix_timestamp을 사용할 수 있습니다) 타임 스탬프로 날짜 값을 변환합니다.

x = upvotes - downvotes 

이 것은 꽤 쉬워야합니다. 분명히 MySQL은 빼기를 지원합니다.

y = {1 if x > 0, 0 if x = 0, -1 if x < 0) 
z = {1 if x < 0, otherwise x} 

이러한 경우에는 MySQL의 case 문을 살펴보십시오.

log(z) + (y * t)/45000 

MySQL은 log 함수를 가지고 있으므로이 값은 간단하고 간단한 수학이어야합니다.

그리고 모두 select 문과 함께 묶습니다. user-defined variables을 사용하여 select 문에 중간 계산을 저장할 수 있습니다. 예 :

select @x := (upvotes - downvotes) as x, 
     (@x > 4) as isXGreaterThanFour 
+0

어떻게 'x'(upvotes-downvotes)를 CASE 문에 사용합니까? –

+0

중간 계산에 변수를 사용하는 방법에 대한 예제를 추가했습니다. –

+0

전체적으로이 코드를 작성할 수 있습니까? 나는 아직도 여기 혼란 스럽다. –