关于C#中数据库SQL问题?

qxs 2009-12-17 09:03:29
ID NAME DTIME
1 张 2007-12-15 00:00:00.000
2 刘 2008-10-12 00:00:00.000
3 王 2009-10-13 00:00:00.000
4 赵 2009-12-15 00:00:00.000
5 孙 2009-12-17 00:00:00.000
6 于 2009-12-14 00:00:00.000
7 李 2009-12-10 00:00:00.000
8 高 2009-12-01 00:00:00.000
9 金 2009-12-10 00:00:00.000


查找与现在时间相差5以上的记录大于2条的信息

意思是:首先是 时间相差大于5以上信息;
其次,这些数据总共是大于2条时才显示,小于2条的不显示

请问大家,这样的SQL语句,怎么写?谢谢哈
...全文
149 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
qxs 2009-12-18
  • 打赏
  • 举报
回复
先谢谢大家了

我再重新说下,我题目意思

求SQL语句

表中时间和现在时间getdate()相比较,大于5天的记录;
而且,这大于5天的记录,还必须满足是2条以上的,才显示,
大于5天的记录,没有2条的,不显示~!

因为大于5天的记录查询结果,不一定是2条以上,所有我这里仅仅显示2条以上的~!2条以下的也是大于5天的不显示~!

谢谢大家
jshi123 2009-12-18
  • 打赏
  • 举报
回复
楼主的意思是不是:找出同一个名字下,存在大于2条距今5(个月?)以上的记录

如果是的话,可以这样写:
select * from <table> a where
(select count(*) from <table> b where a.NAME=b.NAME and DateDiff(month,DTIME,getdate()) > 5) >= 2
and DateDiff(month,DTIME,getdate()) > 5
order by NAME, DTIME
<table>要换成你的表名,如果是时间相差是天,把month改成day
我姓区不姓区 2009-12-18
  • 打赏
  • 举报
回复

select * from [表名] where datediff(day,DTIme,getdate())>5 and [Name] in (select [Name] from [表名] group by [Name] having count([Name])>2)


cailee 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 qxs 的回复:]
先谢谢大家了

我再重新说下,我题目意思

求SQL语句

表中时间和现在时间getdate()相比较,大于5天的记录;
而且,这大于5天的记录,还必须满足是2条以上的,才显示,
大于5天的记录,没有2条的,不显示~!

因为大于5天的记录查询结果,不一定是2条以上,所有我这里仅仅显示2条以上的~!2条以下的也是大于5天的不显示~!

谢谢大家
[/Quote]
你这2条的条件是什么?
是名字?还是时间?还是名字+时间?

这表述能力,晕。
Rock870210 2009-12-18
  • 打赏
  • 举报
回复
你这个题目就有问题,首先确定大于5天没问题,其次,如果要查询大于两条的,你必须指定一个分组条件,如果没有分组,你如何判定大于2条
zhuxiaobo_net 2009-12-18
  • 打赏
  • 举报
回复

select * from Table where DateDiff(days,DateTime,getday()) > 5 and (select count(*) from Table where DateDiff(days,DateTime,getday()) > 5)>2

这句效率不是很高,但应该可以实现。
smallmonkeychen 2009-12-17
  • 打赏
  • 举报
回复
5含义要明确啊。。。。。。否则没法写。。。。支持13楼
我姓区不姓区 2009-12-17
  • 打赏
  • 举报
回复
大于5什么?5个月?5周?5天?5小时?
qxs 2009-12-17
  • 打赏
  • 举报
回复
求救高手
qxs 2009-12-17
  • 打赏
  • 举报
回复
不行啊
需要一句话
zhangcoki 2009-12-17
  • 打赏
  • 举报
回复
学到了 ·· 学到了·· 哈哈
qxs 2009-12-17
  • 打赏
  • 举报
回复
不行啊,
需要的是,时间相差大于5的记录,而且这个记录还必须是2条以上才显示
_0筱筱0_ 2009-12-17
  • 打赏
  • 举报
回复
dataformt(day.dtime,"YYYY-mm-dd")
zhujiazhi 2009-12-17
  • 打赏
  • 举报
回复
select * from table where DATEDIFF(day,dtime, getdate()) > 5
qqzeng-ip 2009-12-17
  • 打赏
  • 举报
回复
真快!
zhujiazhi 2009-12-17
  • 打赏
  • 举报
回复
不知道你这个5是什么意思的?

select * from table where getdate() - dtime > 5
qxs 2009-12-17
  • 打赏
  • 举报
回复
一句话,怎么写
qxs 2009-12-17
  • 打赏
  • 举报
回复
大哥,你真快
silentwins 2009-12-17
  • 打赏
  • 举报
回复
declare i as int
select i = count(*) from Table where DateDiff(days,DateTime,getday()) > 5

if i > 2
select * from Table where DateDiff(days,DateTime,getday()) > 5
qxs 2009-12-17
  • 打赏
  • 举报
回复
up

62,263

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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