我有一个以下格式构成的表:
**ID StationID Status UpdateTime**
1 1 xxxx 2014-09-25 00:01:05
2 1 xxxy 2014-09-25 01:05:18
3 1 xxxz 2014-09-25 09:23:05
4 1 xxxx 2014-09-25 20:01:05
5 1 xxxz 2014-09-25 23:21:34
6 1 xxxz 2014-09-26 00:01:00
7 1 xxxx 2014-09-26 01:45:24
8 1 xxxy 2014-09-26 14:01:43
9 1 xxxx 2014-09-26 22:01:27
对于每一天,我想选择第一条记录和最后一条记录.
结果如下:
**ID StationID Status UpdateTime**
1 1 xxxx 2014-09-25 00:01:05
5 1 xxxy 2014-09-25 23:21:34
6 1 xxxz 2014-09-26 00:01:00
9 1 xxxx 2014-09-26 22:01:27
谢谢大家;
解决方法:
试试这个:
select *
from YOUR_TABLE yt
join (select min(UpdateTime) minUpdateTime, max(UpdateTime) maxUpdateTime
from YOUR_TABLE
group by DATE_FORMAT(UpdateTime, '%Y-%m-%d')
) aggyt on aggyt.minUpdateTime = yt.UpdateTime or aggyt.maxUpdateTime = yt.UpdateTime
标签:mysql
来源: https://codeday.me/bug/20190528/1172706.html