SQL SERVER分组后查询最大日期的ID

SQL SERVER分组后查询最大日期的ID,第1张

用分析函数row_number来给分组内的记录编号,然后取编号值为1的记录即可。

select s

from (

    select v, row_number() over (partition by b order by c desc) as order_num

    from #b v

) s

where sorder_num = 1

有几种方式可以选择

(1)按照日期和d/c的倒叙排列,然后利用rownum取第一行,具体写法要测试

(2)子查询,先利用max(b)找到日期最大值,然后在等于日期最大值的情况下,找d/c的最大值。

(3)根据插入规律找日期,比如你是今天上午九点插入昨天的日期,那么只要过了9点你就sysdate-1,截取到日期,然后再吵最大值就行了。没过9点就sysdate-2,至于过没过9点,如果你要写过程的的话,价格判断就行。

SQL语句里面对于时间值来说,越晚就越大,就是说2008年比2007年要大

所以要判断最大时间就找最晚的那个时间就好了

或者

下面这种方式也可以的

where 时间= max(select 时间 from 表)

以上就是关于SQL SERVER分组后查询最大日期的ID全部的内容,包括:SQL SERVER分组后查询最大日期的ID、sql取日期最大的情况下 值最大的、SQL where语句 如何判断时间是最大的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9739520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存