设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2010|回复: 2
打印 上一主题 下一主题

sql sever 多类型最新日期(最后一天)数据查询

[复制链接]
跳转到指定楼层
1#
发表于 2020-11-19 17:35:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
select  a.ID,a.mjID,a.ms,a.sczq, Datediff(dd,a.sczq,getdate()) as ts   
from   (select    * ,row_number()  over (partition BY mjID
    order  by sczq  desc)rn
from   mj_mstgb)a
where  rn=1

请高手指点这个查询多次出现数据错,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2020-11-20 10:35:28 | 只看该作者
查最新日期,用max就好了。
--最新日期的所有数据
select    *  from  mj_mstgb where sczq=(select max(sczq) from  mj_mstgb)
--每个类别最新日期的记录
select    *  from  mj_mstgb a inner join (select categrory,max(sczq)  as sczq from  mj_mstgb group by categrory) b
on a.categrory=b.categrory and a.sczq=b.sczq
两者的区别:
比如,iPhone 12是10月14号发布的,华为mate 40是10月22日发布。假设数据截止时间2006-01-01到2020-10-22
第一段:只显示华为的数据(因为iPhone 12发布的时间不是最新时间)
第二段:两条记录都会显示(但IPhone 11,mate30,p40等不会显示,因为不是最新的记录)
3#
发表于 2020-11-20 10:39:46 | 只看该作者
roych 发表于 2020-11-20 10:35
查最新日期,用max就好了。
--最新日期的所有数据
select    *  from  mj_mstgb where sczq=(select max( ...

第二段改成:select   a. * ……
(不好意思,疏忽了)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 01:59 , Processed in 0.097149 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表