我已经厌倦了使用上一个类似的部分问题,但是我作为我要查询的表有多行,我似乎无法获得当天的单个最大值。然后我需要将其与前一个问题合并,但这是我需要玩的另一件事......
表格很简单,有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
任何帮助都会很棒。
答案 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中使用。