【问题标题】:How to get data from several days after certain hour of each day?如何从每天特定小时后的几天获取数据?
【发布时间】:2013-02-09 06:56:25
【问题描述】:

我正在编写一些关于特定时间的销售额的报告,我已经设法获得一周中某一天的销售额总和,但我需要进一步缩小范围,我需要获得一周中每一天的总和13:00 后进行的销售。

这是用于获取一周中每天的销售额总和的代码

SELECT 
sum(ammount), datename (weekday,sale_date)
FROM SALES where sale_date > '2012-01-01 00:00:00'
group by datename (weekday,sale_date)

【问题讨论】:

    标签: sql-server date datetime select


    【解决方案1】:

    为什么不使用DATEPARThh 部分?

    SELECT Sum(ammount), 
           Datename (weekday, sale_date) 
    FROM   sales 
    WHERE  sale_date > '2012-01-01 00:00:00' 
           AND Datepart(hh, sale_date) >= 13 
    GROUP  BY Datename (weekday, sale_date) 
    

    【讨论】:

    • 如何在 where 子句中添加这个?
    • 谢谢,您的回答当然也是正确的,我刚刚将接受的答案提供给了 Andomar,因为他更快地发布了答案,并准备好了完整的答案表格。
    【解决方案2】:

    您可以在where 子句中添加“13:00 之后”的条件:

    where   sale_date > '2012-01-01 00:00:00'
            and datepart(hour, sale_date) >= 13
    

    【讨论】:

    • 鉴于此结果,并询问
    • 每日销售额 = 13 点前销售额 + 13:00 当天或之后的销售额。如果您得到不同的结果,您可能使用了错误的查询。
    • 解决了,不小心看了周六的销量,又加到周一了,多谢!
    猜你喜欢
    • 1970-01-01
    • 2020-12-16
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2016-09-10
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多