2012-09-09 4 views
1

다음 쿼리를 실행 중이지만 datediff() 필터가 작동하지 않는 것처럼 보입니다. 쿼리가 성공적으로 실행되고 있지만 다른 값으로 datediff()을 변경하더라도 여전히 동일한 결과를 얻습니다.MySQL datediff() 함수는 값에 관계없이 항상 동일한 결과를 반환합니다.

SELECT project_id 
    , google_rank 
    , COALESCE(
     (SELECT google_rank 
      FROM eig_ranking mi 
      WHERE mi.project_id = m.project_id 
      ORDER BY project_id limit 1 
       ) 
     , 0) - google_rank AS movement 
    , keyword 
    , domain 
    FROM eig_ranking m 
WHERE (DATEDIFF(rank_date, NOW()))/7 <= 12 
    AND google_rank != 0 
ORDER BY movement DESC 
+0

google_rank ! = 0 필터는 작동하지만 datediff() 필터는 작동하지 않습니다 – petergt

+1

DATEDIFF (rank_date, NOW())/7'에 의해 eig_ranking 그룹에서 DATEDIFF (rank_date, NOW())/7, count (* ? 제 추측으로는 거기에 12 주 이상 된 것이 없습니다. – Ben

+0

정확히 어디에 코드를 삽입합니까? \ – petergt

답변

0

답장을 보내 주셔서 감사합니다. 나는 그것을 알아. 그 MYSQL 버그 또는 문서 오류가 있지만 DATEDIFF (NOW(), rank_date) datediff() 함수의 변수를 교환하면 내 모든 쿼리에 대해 정상적으로 작동하고 결과가 모두 정확한지 잘 모르겠습니다.

관련 문제