【发布时间】:2019-07-01 17:49:12
【问题描述】:
抱歉,伙计们提出了菜鸟问题!在查询数据库方面,我还很陌生。 好吧,简而言之,我正在尝试逐月计算。我想创建一个销售列,基本上是一个月推送,允许我创建 MoM 的计算 ((SalesColumn - PushedSales) / PushedSales) * 100。
我的目标是首先将日期的月份部分推迟 1 个月,然后将日期部分更改为每月的第一天。
我想要完成的是找到一种方法来累积这两个语句。
DATEADD(MONTH, 1, Order_Date) & DATEFROMPARTS(YEAR(Order_Date), MONTH(Order_Date), DAY(0))
第 1 部分:
SELECT DATEADD(MONTH, 1, Order_Date), Sales
FROM Orders
ORDER BY Order_Date
第 2 部分:
SELECT DATEFROMPARTS(YEAR(Order_Date),MONTH(Order_Date),DAY(0)), Sales
FROM Orders
ORDER BY Order_Date
我已经完成了第 1 部分:
SELECT DATEADD(MONTH, 1, Order_Date), Sales
FROM Orders
ORDER BY Order_Date
并创建了一个视图,
然后使用该视图我已经完成了第 2 部分:
SELECT DATEFROMPARTS(YEAR(Order_Date), MONTH(Order_Date), DAY(0)),[Sales]
FROM Orders
ORDER BY Order_Date
这给了我正确的答案,除了感觉像操纵日期的一种非常低效的方式。
【问题讨论】:
-
任何带有示例的示例数据都会有所帮助...
-
你的问题不是很清楚。查看来自Spaghetti DBA 的这篇帖子,了解一些提示和技巧,让您更容易获得答案。使用问题下方的
edit链接进行修改。 -
@EricBrandt 谢谢,我会通读的
-
@ChaitanyaKotha 所以我正在使用 Tableau 示例数据(Superstore - community.tableau.com/docs/DOC-1236)我希望这会有所帮助吗?
标签: sql sql-server date data-manipulation