Mysql 使用LAST()聚合函数时出错

Mysql 使用LAST()聚合函数时出错,mysql,sql,Mysql,Sql,最近我开始做一个项目。我想在其中获取插入数据库的最后一条记录 查询是: SELECT c.lat, c.lng, LAST(v.count) FROM camera_camera c , camera_cameravehiclecount v WHERE c.id = v.cameraid 我正在使用LAST()aggregate函数,但出现以下错误: 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解正确的语法 使用摄像机c、摄像机c和摄像机v的近距离(v.c

最近我开始做一个项目。我想在其中获取插入数据库的最后一条记录

查询是:

SELECT c.lat, c.lng, LAST(v.count) 
FROM camera_camera c , camera_cameravehiclecount v 
WHERE c.id = v.cameraid 
我正在使用
LAST()
aggregate函数,但出现以下错误:

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解正确的语法 使用摄像机c、摄像机c和摄像机v的近距离(v.count) 其中c.id=v.come'位于第1行


我交叉检查了来自的语法,但仍然得到了这个错误。我正在使用DB4free作为我的在线数据库。

w3页面建议了一种解决方法,因为最后一个不在mysql中

您可以尝试以下方法获得相同的结果:

SELECT c.lat, c.lng, v.count
FROM camera_camera c , camera_cameravehiclecount v 
WHERE c.id = v.cameraid 
ORDER BY v.count DESC 
LIMIT 1

首先,您需要学习使用正确的
JOIN
语法。简单规则:切勿在
FROM
子句中使用逗号。始终使用显式
JOIN

其次,您需要一个列来指定last是什么。假设它是车辆计数表上的
id
。然后您将使用
排序和
限制

SELECT c.lat, c.lng, LAST(v.count) 
FROM camera_camera c JOIN
     camera_cameravehiclecount v 
     ON c.id = v.cameraid 
ORDER BY v.id DESC
LIMIT 1;

注意:
按v.count DESC排序是不合适的,除非您知道该列只是在增加。

您到底想实现什么?我只想从id相同的表中获取最后插入的“count”值。