mysql数据库中sql语句取一段时间的每一天的最后一条数据?sql语句怎么写
比如下面的表取7月23号到7月28号这一段时间的每一天的最后一条数据sql语句该怎么写,还有时间不一定按顺序排列...
比如下面的表取7月23号到7月28号这一段时间的每一天的最后一条数据
sql语句该怎么写,还有时间不一定按顺序排列 展开
sql语句该怎么写,还有时间不一定按顺序排列 展开
3个回答
展开全部
select a.* from 表名 a,
(select max([datetime]) [datetime],convert(varchar(10),[datetime],120) [date] from 表名 group by convert(varchar(10),[datetime],120)) b
where a.[datetime]=b.[datetime]
and convert(varchar(10),a.[datetime],120)=b.[date]
更多追问追答
追问
看不清楚哪些datetime是字段,哪些datetime是类型,我把我图片上的datetime字段名改为key,麻烦您再写一下
追答
所有的datetime你都换成你字段名
date不换
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from tab a where key in
(select max(key) from tab b where convert(varchar(8),a.key,112) = convert(varchar(8),a.key,112))
更多追问追答
追问
运行了下,不行,还没分组
追答
每天取一个,就是这样取的。如果要取多条数据,可以采用下面的语法。
select * from tab a where key in
(select top 5 key from tab b where convert(varchar(8),a.key,112) = convert(varchar(8),a.key,112) order by key desc )
要不发一个远程,我帮你。
不好意思看错了,我看成了mssql,等一下,我改成 mysql的语法。
select * from tab a where key in
(select max(key) from tab b where cast(key as date) = cast(key as date) )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |