请问朋友们,如何实现邮箱中“今天,昨天,上周,更早”这样的列表?

xincsdn 2010-10-11 03:28:13
常用的邮箱中,邮件列表通常都被分为“今天,昨天,上周,更早”这样的分组来显示,有没有朋友有用ASP.NET实现过类似的功能,有的是什么控件或是方法,还望给予些意见或是建议。谢谢!
...全文
328 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xincsdn 2010-10-20
  • 打赏
  • 举报
回复
谢谢诸位,我还是自己想方法解决了。

实际当中没有办法直接象这样来显示,因为本身数据量就大,所以我要分页,(本身实现分页的语句,再加上多表关联的数据,这样最后的SQL语句本身就很复杂了);另外如果按上面的语句要得到今天、昨天、上周、更早的数据,分别去与数据库链接获取,这样与数据库就进行多次的交互。感觉不是很妥。

我自己的实现方式,还是先取出分页后的数据,比如一页显示25条,然后在页面上来遍历这25条记录的日期进行分组显示。主要考虑还是减少访问数据库,显示上的一些效果(分组)放在页面上来实现。

yan267 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xincsdn 的回复:]
楼上和我想实现的好像有差距呢,楼上的朋友有实现过的吗?

不要想当然哦~
这个问题不是简单写几个SQL语句就OK的了。
[/Quote]

不明白为啥不是简单写几个SQL就可以了?


SELECT * FROM table WHERE DATEDIFF(DAY,create_time,GETDATE())=0 -------今天

SELECT * FROM table WHERE DATEDIFF(DAY,create_time,GETDATE())=1 -------昨天


SELECT * FROM table WHERE datediff(wk,create_time,getdate())=1 -------上周


SELECT * FROM table WHERE datediff(wk,create_time,getdate())>1 ------更早



wyq29 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xincsdn 的回复:]
楼上和我想实现的好像有差距呢,楼上的朋友有实现过的吗?

不要想当然哦~
这个问题不是简单写几个SQL语句就OK的了。
[/Quote]

本来就是这么简单的问题 你说还有什么差距呢?

唯一不满足的 就是 “上周”的概念, getdate() - 7 实际上是“最近7天”
xincsdn 2010-10-12
  • 打赏
  • 举报
回复
楼上和我想实现的好像有差距呢,楼上的朋友有实现过的吗?

不要想当然哦~
这个问题不是简单写几个SQL语句就OK的了。
村长_乐 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yan267 的回复:]
引用 7 楼 xincsdn 的回复:
楼上和我想实现的好像有差距呢,楼上的朋友有实现过的吗?

不要想当然哦~
这个问题不是简单写几个SQL语句就OK的了。


不明白为啥不是简单写几个SQL就可以了?


SQL code

SELECT * FROM table WHERE DATEDIFF(DAY,create_time,GETDATE())=0 ------……
[/Quote]
这样不就是查询出来了么???
totodele 2010-10-12
  • 打赏
  • 举报
回复
顶楼上
quanpp 2010-10-11
  • 打赏
  • 举报
回复
sql语句判断,1楼和5楼可以满足楼主需求了
wuyq11 2010-10-11
  • 打赏
  • 举报
回复
select 语句
DateTime.Now
DateTime.Now.AddDays(-1)
昨天 
select convert(varchar(10),getdate() - 1,120)
select convert(varchar(10),getdate() + 1,120)
select * from tb where 时间字段 > = convert(varchar(10),getdate() - 7,120)
select * from tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 > = 时间字段
AsheBin 2010-10-11
  • 打赏
  • 举报
回复
这么简单也问啊
think_huang 2010-10-11
  • 打赏
  • 举报
回复
写个控制流语句或SQL语句里面区分啊~
波导终结者 2010-10-11
  • 打赏
  • 举报
回复
case
yan267 2010-10-11
  • 打赏
  • 举报
回复
SQL判断下时间就可以了。

SELECT DATEDIFF(DAY,'2010-10-01',GETDATE())

然后就根据值可以区分上周,上上周这样的了

62,272

社区成员

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

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

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

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