仅获取最新的时间戳条目 MYSQL

罗伯特·迪基

我有一个为报告提取数据的查询。它目前提取所有记录,但我被要求这样做,以便它只从每个 sID 的 changeReport 表中提取最新条目

    select *, old.methodName as oldName, new.methodName as newName, students.firstName as fName, students.lastName as lName
from changeReport 
left join methodLookup as old on (old.methodID = changeReport.oldMethod) 
left join methodLookup as new on (new.methodID = changeReport.newMethod) 
join students on (students.studentID = changeReport.studentID) 
left join staffaccounts on (changeReport.staffID = staffaccounts.staffID) 
where 31 IN (newSubMethod,oldSubMethod) AND date(timestamp) = CURRENT_DATE

如何提取相同的报告,但仅显示每个 sID 的最新时间戳?每个 sID 每天可能有 1-10 个条目……但我只想提取最新的条目。

我已经尝试参考其他几篇最大的每组帖子,但似乎无法找到针对此特定问题的解决方案。

服务器类型:MariaDB 服务器版本:5.5.60-MariaDB - MariaDB 服务器协议版本:10

草莓
SELECT a.* 
  FROM 
     ( SELECT *
            , o.methodName oldName
            , n.methodName newName
            , s.firstName fName
            , s.lastName lName 
         FROM changeReport r
         LEFT 
         JOIN methodLookup o
           ON o.methodID = r.oldMethod
         LEFT 
         JOIN methodLookup n
           ON n.methodID = r.newMethod
         JOIN s s
           ON s.sID = r.studentID
         LEFT 
         JOIN staffaccounts a
           ON r.staffID = a.staffID
        WHERE 31 IN (newSubMethodm,oldSubMethod) 
          AND DATE(timestamp) = CURRENT_DATE
     ) a
  JOIN 
     ( SELECT s.sid
            , MAX(timestamp) timestamp
         FROM changeReport r
         LEFT 
         JOIN methodLookup o
           ON o.methodID = r.oldMethod
         LEFT 
         JOIN methodLookup n
           ON n.methodID = r.newMethod
         JOIN s s
           ON s.sID = r.studentID
         LEFT 
         JOIN staffaccounts a
           ON r.staffID = a.staffID
        WHERE 31 IN (newSubMethodm,oldSubMethod) 
          AND DATE(timestamp) = CURRENT_DATE
        GROUP
           BY s.sid 
    ) b
   ON b.sid = a.sid
  AND b.timestamp = a.timestamp;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL仅选择2天以上的最新记录(时间戳)

来自分类Dev

Laravel 从 mySql 数据库获取条目,其中时间戳不超过一天

来自分类Dev

mysql通过时间戳获取最新记录而无需子查询

来自分类Dev

仅更新MySql表中的时间戳

来自分类Dev

MySQL:读取时间戳旁边的数据库表条目

来自分类Dev

仅获取MySQL中JOIN的最新记录

来自分类Dev

MySQL最新时间戳+分组依据的其他字段

来自分类Dev

MYSQL查询使用时间戳调用最新值

来自分类Dev

MySQL最新时间戳+分组依据的其他字段

来自分类Dev

如果符合条件,则获取MySQL中的最新条目

来自分类Dev

MySQL时间戳问题

来自分类Dev

MySQL时间戳格式

来自分类Dev

MySQL时间戳格式

来自分类Dev

MySQL时间戳问题

来自分类Dev

仅获取新条目数据库mysql

来自分类Dev

Node.js MySQL获取正确的时间戳格式

来自分类Dev

获取日期时间戳为30天或更晚的mysql行

来自分类Dev

如何从mysql databse php获取单个记录的时间戳?

来自分类Dev

在 Valetina Studio 中的 mysql 中获取当前时间戳

来自分类Dev

仅获取mysql中每个记录的最新数据

来自分类Dev

对于每条记录仅获取mysql中的最新数据

来自分类Dev

mysql - 如何从以下结果中仅获取最新日期?

来自分类Dev

Java时间戳到MySQL时间戳

来自分类Dev

根据第一个值的时间戳删除MySQL重复条目行

来自分类Dev

即使有2条记录具有相同的时间戳,也可以获取最新的条目

来自分类Dev

通过具有多个时间戳的唯一 ID 获取最新的表条目

来自分类Dev

MySQL时间戳差异结果

来自分类Dev

mysql查询与时间戳分组

来自分类Dev

MySQL按时间戳分组