mysql - 如何查找按日期时间排序的 mySQL 表中的最后一个值?

标签 mysql sql

我在从 mySQL 数据库中找到正确的值时遇到问题。

我有 1 个表,其中包含 3 个主要列:

---+------------+---------------+--------------------+
id + patient    + temperature   +  datetime          +
-- +------------+---------------+--------------------+
1  + patient #1 + 36.6C/97.88F  + 31-12-2018 12-00-00

因此,我需要一张包含所有患者的表格,并且每个患者只有一个值:

--------+-------------------------------+-----------------------------+
patient + last temperature in this year + last datetime in this year  +
--------+-------------------------------+-----------------------------+      

最佳答案

您需要今年 datetime 的最后一个值:

SELECT 
  id, 
  temperature, 
  datetime 
FROM 
  patients AS p
WHERE 
  datetime = (
    SELECT MAX(datetime) FROM patients WHERE patients.id = p.id AND YEAR(datetime) = YEAR(CURDATE())
  )

关于mysql - 如何查找按日期时间排序的 mySQL 表中的最后一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53918651/

相关文章:

mysql - 从多个左连接中获取计数的正确方法

MySQL 版本控制 - 颠覆

mysql - 如何 append 到已经满的 VARCHAR

sql - 使用 > 大于时简单的 SQL 语法错误

php - 如何在 LIMIT 子句中应用 bindValue 方法?

一些值的 MySQL 自定义输出

php - 使用撇号回显来自 mysql 的文本

php - 从 csv 文件中读取第一行并根据它创建表(csv 文件字段)

mysql - 按日历周的 SQL 销售报告

sql - 在SQL中按DATE分组,返回nil