gpt4 book ai didi

mysql - 在单个查询中选择昨天的最后一条记录和今天的所有记录

转载 作者:行者123 更新时间:2023-11-29 11:05:45 24 4
gpt4 key购买 nike

我知道可以获取昨天的记录,最常见的方法是使用 SUBDATE(CURDATE(), 1) 或者简单地使用 CURDATE() - 1 并使用 LIMITORDER 检索昨天的最后一条记录。

但是在这里,我需要在第一行获取昨天的最后一条记录,其余的将是今天的所有记录。我需要在单个查询中运行它。

例如,我的一个表中有以下记录:

--------------------------------------------------
| value | created_at |
--------------------------------------------------
| 70 | 1/1/2017 |
| 300 | 1/1/2017 |
| 100 | 1/1/2017 |
| 235 | 1/2/2017 |
| 45 | 1/2/2017 |
--------------------------------------------------

created_at列是一个时间戳,如果今天是2017年1月2日(2017年1月2日)那么查询结果应该是:

--------------------------------------------------
| value | created_at |
--------------------------------------------------
| 100 | 1/1/2017 |
| 235 | 1/2/2017 |
| 45 | 1/2/2017 |
--------------------------------------------------

到目前为止,我只能通过以下查询检索今天的记录:
SELECT * FROM my_table WHERE created_at >= CURDATE();

我需要什么查询才能完成此任务?

最佳答案

希望你有 id 作为主键

select * from 
(select
*
from
tbl
where date(created_at) =date(DATE_ADD(now(), INTERVAL -1 DAY))
order by id desc limit 0,1
)tmp

UNION

select * from tbl where date(created_at)=date(now())

关于mysql - 在单个查询中选择昨天的最后一条记录和今天的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com