我有一个数据库,其中有列 id、adsoyad、tag_id、map_id、xpos、ypos 和日期。
此数据库每 15 分钟从每个用户接收一次数据。每个用户都有一个唯一的 tag_id。 “日期”列的结构采用日期时间格式。 当我运行下面的代码时;
SELECT tag_id, xpos, ypos, adsoyad, date, MAX(date)
FROM `lt_position`
WHERE map_id="750"
GROUP BY tag_id
出现一个名为 Max(date) 的列,分组是正确的,但是 Max(date) 列列出了前一个条目,而不是最后一个条目。
当我运行此代码时,在列出时,它列出了该人的最后注册日期和之前的注册。
我要的是看每个用户在上次注册时间提交的xpos和ypos数据
我尝试了一些不同的代码,这些代码是我在网络上的不同解决方案中以及从 stackoverflow 中找到的。但他们给我的结果都是一样的。
我猜我的数据库有问题。我试图修复它几次。我删除并创建了一次。但是结果还是一样。
请不要在问题中包含图片。请改用文字。
你应该从哪个集合中分辨出你想要
max
来自(最大是什么?)。您似乎在查询中同时拥有 date
和 max(date)
。
GROUP BY
语句应包括 SELECT
. 中的所有非聚合列
请执行以下查询以查看 tag_id wise max date 是否在顶部。
SELECT tag_id, xpos, ypos, adsoyad, date FROM `lt_position` WHERE map_id="750" order BY tag_id date