每天找到单个MAX值

时间:2013-02-15 00:17:03

标签: sql aggregate-functions

我已经厌倦了使用上一个类似的部分问题,但是我作为我要查询的表有多行,我似乎无法获得当天的单个最大值。然后我需要将其与前一个问题合并,但这是我需要玩的另一件事......

表格很简单,有2列

Date       |        Peak Power

1/1/2012 10:00:00 | 150.00

1/1/2012 10:12:00 | 120.00

1/1/2012 05:01:00 | 190.00

1/1/2012 01:35:00 | 500.00

1/1/2012 04:54:00 | 250.00

结果

Date | Peak Power each day

1/1/2012 10:00:00 | 500.00

2/1/2012 04:00:00 | 150.00

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:3)

你不告诉我们你使用什么SQL产品,所以这里是Sql Server 2008R2:

SELECT
CAST(t.DateColumn as DATE), MAX(t.PowerUsage) as 'Peak Power Each Day'
FROM [MyTable] t
GROUP BY CAST(t.DateColumn AS DATE)

这是MySql

SELECT
DATE(t.DateColumn), MAX(t.PowerUsage) as 'Peak Power Each Day'
FROM [MyTable] t
GROUP BY DATE(t.DateColumn)

答案 1 :(得分:0)

所以你想在日期中合并日期时间记录?有很多方法可以这样做,但我会用它:

 SELECT CONVERT(CHAR(10), Date, 120) AS "Date", MAX("Peak Power")
 FROM MyTable
 GROUP BY CONVERT(CHAR(10), Date, 120)

您没有指定RDMS,但这可以在MS SQL中使用。