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”值。