首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取每天最大值的记录

问获取每天最大值的记录
EN

Stack Overflow用户
提问于 2016-12-17 04:35:58
回答 2查看 513关注 0票数 0

我想得到每天最大功率值的记录,见下表

代码语言:javascript
复制
CREATE TABLE [dbo].[HourData]
(
    [ID] [bigint] NOT NULL,
    [Powers] [decimal](18, 4) NOT NULL,
    [DataHour] [int] NOT NULL,
    [StartDate] [datetime] NOT NULL,

    CONSTRAINT [PK_HourData] 
        PRIMARY KEY CLUSTERED ([ID] ASC, [HourShow] ASC, [StartDate] ASC)
                    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, 
                          IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, 
                          ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) 

下面的查询将获得每天最大权限的使用情况,但是如何获得记录本身,假设如果我需要DataHour,如何获得它,我不能将它包含在GroupBy子句中。

代码语言:javascript
复制
SELECT
    CAST(t.[StartDate] as DATE), 
    MAX(t.Powers) as 'Peak Power Each Day'
FROM 
    [HourData] t  
WHERE
    CONVERT(date, [StartDate]) BETWEEN CONVERT(date, '2016-12-01 09:45:59.240') 
                                   AND CONVERT(date,'2016-12-08 09:45:59.240')
 GROUP BY 
     CAST(t.[StartDate] AS DATE) 
 ORDER BY
     CAST(t.[StartDate] AS DATE)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-17 04:41:41

您可以使用窗口函数获取整个记录。以下是每天获取所有最大值的信息:

代码语言:javascript
复制
SELECT hd.*
FROM (SELECT hd.*,
             MAX(hd.Powers) OVER (PARTITION BY CAST(hd.StartDate as Date)) as maxpowers
      FROM HourData hd 
     ) hd
WHERE CONVERT(date, StartDate ) between '2016-12-01' and '2016-12-08' AND
      powers = maxpowers;

如果您想要一个(任意):

代码语言:javascript
复制
SELECT hd.*
FROM (SELECT hd.*,
             ROW_NUMBER() OVER (PARTITION BY CAST(hd.StartDate as Date) ORDER BY hd.powers DESC) as seqnum
      FROM HourData hd 
     ) hd
WHERE CONVERT(date, StartDate ) between '2016-12-01' and '2016-12-08' AND
      seqnum = 1;

注意,我从between比较中删除了time组件。无论如何,到日期的转换将移除时间组件。这更简单。

票数 0
EN

Stack Overflow用户

发布于 2016-12-17 04:41:51

返回的内容在查询的SELECT部分中。SELECT *返回整个条目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41195418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档