这是我的表格(博客),所有输出均通过SELECT * *
显示我正在尝试在Blogid列中选择所有执行最高值的
我尝试使用:
SELECT *
FROM blog
WHERE blogid < MAX(blogid)
ORDER BY createddate DESC
我希望它会选择所有低于blogid中最大数字的值,但是会出现错误“无效使用组函数”。
任何帮助将不胜感激
答案 0 :(得分:2)
如果您不使用分组依据,则需要一个子查询来计算最大值:
SELECT *
FROM blog
WHERE blogid < (select MAX(blogid)
from blog)
ORDER BY createddate DESC
答案 1 :(得分:0)
您不能在其中使用
SELECT *
FROM blog
WHERE blogid not in ( select MAX(blogid) from blog)
ORDER BY createddate DESC
要选择最大Blogid,您必须使用子查询
答案 2 :(得分:0)
您可以对嵌套查询使用HAVING
。除非位于WHERE
子句或选择列表中的子查询中,否则HAVING
子句中的聚合可能不会出现
SELECT *
FROM blog
HAVING blogid < (select MAX(blogid) from blog)
ORDER BY createddate DESC