mysql - 使用 SQL 获取表中最早和最新插入的行

标签 mysql sql

我有这个结构...

ID  date                Value
732 2019-07-03 15:04:42 283.0
732 2019-07-03 15:24:07 283.2
732 2019-07-03 15:43:44 283.4
732 2019-07-03 16:03:37 283.5
732 2019-07-03 16:22:47 283.7
732 2019-07-03 16:42:25 283.8
733 2019-06-14 13:24:01 226.3
733 2019-06-14 15:09:38 228.1
733 2019-06-17 08:39:59 291.5
733 2019-06-17 10:46:20 291.7

我可以做一个简单的选择,例如:

select * 
from table 
where id=732 and date < '2019-07-03 16:03:37' 
and date > '2019-07-03 15:24:07'

但是它给了我指定时间范围内的所有数据,我只需要获取选择时间范围内最早的DATE的行和最新的DATE的行,所以,只有两行。

我尝试使用 MIN 和 MAX 但没有成功。

版本:修复英语语言错误

提前致谢

最佳答案

一个简单的方法使用union alllimit:

(select t.*
 from t
 order by date asc
 limit 1
) union all
(select t.*
 from t
 order by date desc
 limit 1
)

关于mysql - 使用 SQL 获取表中最早和最新插入的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877596/

相关文章:

java - 如何在准备好的语句java中使用特殊字符

sql - 选择类别中的随机元素

sql - 根据另一个表中的信息构建行更改的历史跟踪

PHP/MYSQL 重复电子邮件地址

mysql - 为什么这个mysql触发器语法是错误的?

php - 使用 PHP 进行 MySQL 查询

php - 无法使用php和ajax从数据库中获取数据

php - 在实时服务器上更新软件的最佳实践

c++ - 如何直接使用 OleDB 创建并执行 SQL 命令?

MySQL 查询不正确