SQL语法有问题吗? MAX不工作

时间:2013-01-22 04:12:47

标签: php sql max

$query="SELECT title, max(postid) FROM post";

postid是一个递增的数值(1,2,3...)。目前,最高值是49,但它正在拉高1.它似乎忽略了MAX语句。

否则其他一切都很好。

3 个答案:

答案 0 :(得分:4)

这是无效的语法,哪个引擎正在运行它?

您需要:

 SELECT title, max(postid) FROM post GROUP BY title;

获取多条记录,每个标题一条,显示每个标题的最大位置,或

SELECT max(postid) FROM post

从表中获得单个最大postid。

如果你想要最高的postid和随之而来的标题,你需要

 SELECT TOP 1 title, postid FROM post ORDER BY postid DESC

 SELECT title, postid FROM post ORDER BY postid DESC LIMIT 1

取决于您的SQL引擎。

答案 1 :(得分:1)

重要的一点是 MAX 函数中使用的字段应为 INT类型

然后它将给出准确的结果:

SELECT title, max(postid) FROM post GROUP BY title

Postid应为整数。

答案 2 :(得分:0)

你试过了吗?

SELECT title, max(postid) FROM post GROUP BY title

我原本期望你使用哪个sql引脚来响应你的语句中没有group by子句的错误。但是,如果GROUP BY以某种方式隐含在代码中的其他位置,则应该从select子句中删除“title”(因为我希望'title'无论如何都只与一个帖子相关联)。在这种情况下,如果你只是期望post表中的max postid你的语句应该是:

SELECT max(postid) FROM post