Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 结合WHERE子句的SQL MAX_Php_Mysql - Fatal编程技术网

Php 结合WHERE子句的SQL MAX

Php 结合WHERE子句的SQL MAX,php,mysql,Php,Mysql,我需要从mysql表中的一个特定列中找到最大值,其中另一列的值等于某个值。但是,在我使用的查询中,我不断得到一条显示SQL错误的消息。我的质询如下: SELECT MAX(message_id) AS top_message HAVING(child_id) = '".$message_id[$i]."' 有什么建议吗?你应该使用WHERE而不是有子句: SELECT MAX(message_id) AS top_message FROM tablename WHERE child_id

我需要从mysql表中的一个特定列中找到最大值,其中另一列的值等于某个值。但是,在我使用的查询中,我不断得到一条显示SQL错误的消息。我的质询如下:

SELECT MAX(message_id) AS top_message HAVING(child_id) = '".$message_id[$i]."'

有什么建议吗?

你应该使用
WHERE
而不是
子句:

SELECT MAX(message_id) AS top_message 
FROM tablename 
WHERE child_id = '".$message_id[$i]."'

当您具有聚合条件时,仅使用
HAVING
子句。

您应该使用
WHERE
而不是
HAVING
子句:

SELECT MAX(message_id) AS top_message 
FROM tablename 
WHERE child_id = '".$message_id[$i]."'

当您有聚合条件时,仅使用HAVING
子句。

您还缺少一个表名:

SELECT MAX(message_id) AS top_message FROM tablename WHERE child_id = '".$message_id[$i]."'

您还缺少一个表名:

SELECT MAX(message_id) AS top_message FROM tablename WHERE child_id = '".$message_id[$i]."'

您需要from子句和where子句。having子句用于组筛选器。您没有GROUPBY子句,因此没有理由编写having子句。如果要从中选择的表名为“MyTable”,则查询如下:

SELECT MAX(message_id) AS top_message
FROM MyTable
WHERE child_id = '".$message_id[$i]."'

注意,不需要围绕儿童id的偏执。请阅读SQL和MySQL教程以了解更多信息,您的生活将更加轻松。

您需要from子句和where子句。having子句用于组筛选器。您没有GROUPBY子句,因此没有理由编写having子句。如果要从中选择的表名为“MyTable”,则查询如下:

SELECT MAX(message_id) AS top_message
FROM MyTable
WHERE child_id = '".$message_id[$i]."'

注意,不需要围绕儿童id的偏执。请阅读SQL和MySQL教程以了解更多信息,您的生活将更加轻松。

请发布错误消息。请发布错误消息。