您好,谢谢您的回复。我是TSQL的新手,目前正在实习。 我正在使用VB创建一个网页,我没有问题显示下面第一个表格中的内容 给用户。
----------Name--------------------Date----------------Points
1--------Mike---------------------10/01/2012----------4
2--------Mike---------------------10/05/2012----------2
3--------Mike---------------------10/03/2012----------1
4--------Mike---------------------10/17/2012----------4
5--------Mike---------------------10/24/2012----------4
6--------Simon---------------------11/05/2012--------1
7--------Simon---------------------11/11/2012--------3
8--------Simon---------------------11/20/2012--------4
9--------Simon---------------------11/22/2012--------2
10 Simon 11/27/2012 3
但是,我有一个包含日期和星期的下拉列表,用于对第一个数据进行排序 上面的表格在一天或一周到一周的间隔。
当用户选择以MIN(Date)
开始的每周间隔显示数据时输出
表中的每个名称MAX(Date)
应该是这样的。我用
SELECT Name, MIN(Date) AS StartDate, DATEADD(DD, 7, MIN(Date)) AS EndDate, SUM(Points)
我知道我不应该将EndDate设置为固定点,因为接下来的7天 数据不会显示。
-----Name-------StartDate-------EndDate---------Points
1----Mike-------10/01/2012------10/05/2012----------7
2----Mike-------10/17/2012------10/24/2012----------8
3----Simon-----11/05/2012-----11/11/2012----------4
4----Simon-----11/20/2012-----11/27/2012----------9
任何帮助将不胜感激。我希望我的问题清楚。谢谢!
答案 0 :(得分:1)
我希望我的问题清楚。
要根据一系列日期获取sql记录,您可以使用BETWEEN运算符
像这样:
SELECT Name, MIN(Date) AS StartDate, MAX(Date) AS EndDate, SUM(Points)
FROM people
WHERE Date between to_date ('2003/01/01', 'yyyy/mm/dd')
AND to_date ('2003/12/31', 'yyyy/mm/dd')
GROUP BY name
ORDER BY Points;
我希望这很有帮助。