【问题标题】:Syntax using WHERE in Mysql在 Mysql 中使用 WHERE 的语法
【发布时间】:2014-10-16 20:52:06
【问题描述】:

在成员数据库中,我试图找到今年“圆形”年龄的余烬。已尝试此语句,但得到“WHERE 部分的语法错误:

SELECT name, born, TIMESTAMPDIFF(YEAR,born,CURDATE()) AS age WHERE MOD(TIMESTAMPDIFF(YEAR,born,CURDATE()),10)IS NULL FROM Members;

分别TIMESTAMPDIFFMOD 都可以。我在 Ubuntu 下使用的是 Mysql 5.5.38。

【问题讨论】:

  • MOD(n) 不应返回 NULL。你的意思是MOD(...)=0
  • 语句顺序在 SQL 中很重要... SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY
  • 谢谢税务员,我在阅读您的回答前一分钟才发现。还要感谢 Pantamtuy 和 JayL 为我指明了正确的方向。

标签: mysql select where


【解决方案1】:

试试这个,我认为 from 需要在 where 子句之前。

SELECT name, born, TIMESTAMPDIFF(YEAR,born,CURDATE()) AS age 
FROM Members
WHERE MOD(TIMESTAMPDIFF(YEAR,born,CURDATE()),10)IS NULL 

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT name, born, TIMESTAMPDIFF(YEAR,born,CURDATE()) AS age 
    FROM Members
    WHERE MOD(TIMESTAMPDIFF(YEAR,born,CURDATE()),10) = 0
    

    【讨论】:

      猜你喜欢
      • 2016-03-24
      • 2019-12-03
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2013-03-09
      • 1970-01-01
      相关资源
      最近更新 更多