sqlserver怎末写出来最大日期的上一个日期呀

image.png

例如:最大日期2019-8-29   截取最大日期的上一个日期(第二大日期)

FineReport wlllllll 发布于 2020-12-1 10:33
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
2
zsh331Lv8专家互助
发布于2020-12-1 10:42(编辑于 2020-12-1 11:12)

= =###

===========

为什么都不考虑日期值存在重复的问题;

===========BJ&tablename换成对应的字段名&表名

SELECT
top 1 BJ
FROM
(
SELECT DISTINCT
TOP 2 BJ
FROM
tablename
ORDER BY
BJ DESC
) ak
ORDER BY
BJ ASC

===============

最佳回答
1
snrtuemcLv8专家互助
发布于2020-12-1 10:36

思路:

根据日期排序,取前2,在这个结果基础上在倒着排序,取第一就可以了



直接在sql里面取前2就可以

mssql:select top 2 * from 表 order by zje

mysql:select * from 表 order by zje limit 2

Oracle:select * from (select * from 表 order by zje) where rownum<=2 order by rownum asc


  • wlllllll wlllllll(提问者) 不是要取整表的前两行日期 ,这些表对应了多个id 而是取每个id对应时间最大的前两行日期数据
    2020-12-01 12:52 
最佳回答
1
指间沙Lv6中级互助
发布于2020-12-1 10:41(编辑于 2020-12-1 10:42)

select top 1 * from
(select top 2 * from NumberLog where
UserName = '管理员' order by dateTime desc ) [table] order by dateTime asc


稍微修改下。


  • 4关注人数
  • 508浏览人数
  • 最后回答于:2020-12-1 11:12
    请选择关闭问题的原因
    确定 取消
    返回顶部