1

datediff()次のクエリを実行していますが、フィルターが機能していないようです。クエリは正常に実行されていますが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
4

1 に答える 1

0

返信ありがとうございます。私はそれを考え出した。MYSQL のバグなのかドキュメントの不具合なのかはわかりませんが、datediff() 関数の変数を DATEDIFF(NOW(), rank_date) に交換すると、すべてのクエリで正常に機能し、結果はすべて正しいものになります。

于 2012-09-11T18:36:51.383 に答える