MySQL datediff() 函数总是返回相同的结果,无论其值如何

标签 mysql phpmyadmin

我正在运行以下查询,但似乎无法使 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

最佳答案

感谢您的回复。我想到了。我不确定它是否是 MYSQL 错误或文档错误,但将 datediff() 函数中的变量交换为 DATEDIFF(NOW(), rank_date) 使其适用于我的所有查询并且结果都是正确的

关于MySQL datediff() 函数总是返回相同的结果,无论其值如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338308/

相关文章:

php - 翻译 phpmyadmin 语法 table.field

mysql - where 条件下的 Unicode 字符 - phpmyadmin

mysql - 1 列 2 结果的总和每个结果不同!如此简单但无法正常工作

php - SQL首先获取一会儿选择的id,然后从表中获取其他的?

php - 当INSERT语句包含引号时如何导入sql文件

php 带循环的多重插入

php - 我的数据库在 phpMyAdmin 上不可见,但在 mysql 的数据文件夹中可用

php - mysql load data infile函数及csv文件格式

MySQL 在 Sphinx 过滤器查询中将字符串转换为整数

php - pdo 动态绑定(bind) asc/desc 顺序