特定修改日期的最小值(最大值)和最大值(最大值)

时间:2009-06-09 08:39:17

标签: sql-server

如何获取修改日期的最小和最大列值

我想为特定日期选择顶部和底部列值。

表格

 **DATE**     **MODIFIED DATE**  **VALUE**

03:02:2009  04:02:2009  100
03:02:2009  04:02:2009  200
03:02:2009  04:02:2009  400
04:02:2009  05:02:2009  150
04:02:2009  05:02:2009  200
04:02:2009  05:02:2009  500

在我的表格中 - 日期列和值列是

如何获得特定修改日期的最小值(最大值)和最大值(最大值)?

修改日期应该是n个日期,假设从这个修改日期给出 这个修改日期

我想要这样的输出

MODIFIED DATE   MIN VALUE   MAX VALUE
04:02:2009  100 400
05:02:2009  150 500

2 个答案:

答案 0 :(得分:5)

SELECT ModifiedDate, MIN(Value), MAX(Value)
FROM TheTable
GROUP BY ModifiedDate
ORDER BY ModifiedDate

编辑评论;目前尚不清楚如何计算ModifiedDate,但对于一个简单的公式,只需内联它:

SELECT DATEADD(day, 1, Date) AS [ModifiedDate], MIN(Value), MAX(Value)
FROM TheTable
GROUP BY DATEADD(day, 1, Date)
ORDER BY DATEADD(day, 1, Date)

对于更复杂的事情,来自:

  • 表变量(@table)
  • 临时表(#table)
  • 子查询

答案 1 :(得分:0)

Marc Gravell,

DATE    VALUE
22:02:2009  200
22:02:2009  400
22:02:2009  100
24:02:2009  250
24:02:2009  400
24:02:2009  800

(从表中选择日期,......)

执行上述查询时,下面提到的表格正在显示

DATE    MODIFIED DATE   VALUE
22:02:2009  23:02:2009  200
22:02:2009  23:02:2009  400
22:02:2009  23:02:2009  100
24:02:2009  25:02:2009  250
24:02:2009  25:02:2009  400
24:02:2009  25:02:2009  800

这里留下日期栏;我需要修改日期的最小值(最大值)和最大值(值)

输出我需要这样

DATE    MN VALUE    MAX VALUE
22:02:2009  200 100
24:02:2009  250 800

注意:不要评估列值,只需要特定日期的顶值和最低值。