求一个SQL语句

lovebeethoven 2004-12-11 04:24:56
现有一张表如下:

编号 内容 日期
--------------------------------
0001 A 2004-01-01
0002 ... 2004-01-11
0001 ... 2004-03-01
0003 ... 2004-01-12

现要查询出,最后日期间隔超过30天的编号,其中日期字段是DATE类型或者字符串都可
比如上表应该查询出 0001
...全文
145 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
limit 2004-12-16
  • 打赏
  • 举报
回复
select ta.编号 from
(select 编号, max(日期) as f1 from table1
group by 编号) ta
inner join
(select 编号, min(日期) as f1 from
(select top 2 编号,日期 from table1
where 编号 in
(select 编号 from table1 group by 编号 having count(编号)>=2)
order by 日期 desc)
b
group by 编号
) tb
on ta.编号=tb.编号
and datediff(d,tb.f1,ta.f1)>30

--ta表为最后消费日期
--tb表为倒数第二个消费日期

不知道会不会理解错误。
Tiger_Zhao 2004-12-15
  • 打赏
  • 举报
回复
解决没有?结贴。
newsuperstar 2004-12-11
  • 打赏
  • 举报
回复
学习
Tiger_Zhao 2004-12-11
  • 打赏
  • 举报
回复
select distinct t1.编号
from xTable t1
where exist (
select * from xTable t2 where t2.日期 - t1.日期 > 30
)
ylsn2004 2004-12-11
  • 打赏
  • 举报
回复
看得出,楼上比我多写了两句,不过,核心没变啊,多的几句与这道题无关,浪费了
aohan 2004-12-11
  • 打赏
  • 举报
回复
思路是

declare @lasttime datetime ---最后的消费时间

declare @bianhao varchar(8)
--select distinct 编号 from table


用游标对此记录集进行处理,如果有人员表可以用人员表打开游标

DECLARE cur_Dpt CURSOR
local SCROLL DYNAMIC FOR
SELECT select distinct 编号 from table ORDER BY EmpID
IF CURSOR_STATUS('local','cur_dpt') = 0
GOTO END_PRC
OPEN cur_Dpt
FETCH FIRST FROM cur_Dpt INTO @bianhao
WHILE @@FETCH_STATUS = 0
begin
select top 1 @lasttime= 购买时间 from talbe where 编号=@bianhao order by 购买时间 desc ---取得最后一条时间
select * from talbe where 购买时间 =@lasttime-28
--将你的记录处理
end
CLOSE cur_Dpt
DEALLOCATE cur_Dpt
END_PRC:
DEALLOCATE cur_Dpt
lovebeethoven 2004-12-11
  • 打赏
  • 举报
回复
只要解决问题,不一定非得1句啊,
景升 等待你的好消息
谢啦,热心的兄弟们
ylsn2004 2004-12-11
  • 打赏
  • 举报
回复
select * from xTable where xTable.日期-date>30
上面乱写的
aohan 2004-12-11
  • 打赏
  • 举报
回复
我上次曾为此写了一个演示的存储过程,你用游标的方式来实现,等会儿找找前面的贴子,打到后发给你
pweixing 2004-12-11
  • 打赏
  • 举报
回复
一个sql语句好像完成不了,用储存过程可能可以!
ylsn2004 2004-12-11
  • 打赏
  • 举报
回复
select * from xTable where 日期< day(date)-30

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧