【问题标题】:Invalid use of group function with MAX [duplicate]使用 MAX 无效使用组函数 [重复]
【发布时间】:2013-06-12 16:35:21
【问题描述】:

我的代码给了我以下错误:

组函数的使用无效

$query = mysql_query("SELECT `text` FROM `text` WHERE `id`=max(id)");
   if(!$query)
die(mysql_error());
  while($row = mysql_fetch_array($result))
  {
   echo $row['text'];
}

我的错误在哪里?

【问题讨论】:

  • 请。停止在新代码中使用mysql_query,这是一个已弃用的接口。当这些方法在未来的 PHP 版本中被删除时,你只是在写一些完全失败的东西。 Switching to PDO is not hard 并将提供许多其他好处。

标签: php mysql forms


【解决方案1】:

如果您想要具有最高 id 的行,您可以使用: SELECT text FROM text ORDER BY id DESC LIMIT 1

【讨论】:

    【解决方案2】:

    WHERE 子句影响单个行,而HAVING 子句影响聚合(GROUP BY 子句的结果)。行条件必须限制在WHERE 子句中,聚合函数(如MAX)必须在HAVING 子句中使用。

    你可以这样做:

    SELECT *
    
    FROM   text
    
    WHERE  id = (SELECT MAX(id) FROM text);
    

    【讨论】:

      猜你喜欢
      • 2019-08-27
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 2019-12-31
      • 2011-10-27
      • 2011-01-20
      相关资源
      最近更新 更多