【问题标题】:Splitting dates in SQL在 SQL 中拆分日期
【发布时间】:2019-12-23 22:36:08
【问题描述】:

如果有一个查询将按月拆分和分组 SQL 表中的日期,我想这样做。

我制作了一个包含名称、订单日期、购买总额等的购买电子表格。我在下面附上了电子表格的图片

 select total_sales count(*) from SalesChart 
 where month(purchase_date) = 1

【问题讨论】:

  • 在您的示例中,记录按月排序,这是您想要得到的吗?如果不是 - 那么请显示您希望看到的一段数据
  • 请通过为您的数据库平台添加标签来编辑您的问题?日期函数和语法往往因平台而异。
  • month(purchase Date), year(Purchase date)分组?也许你不关心不同的年份?或者使用窗口函数count(*) Over (partition by month(purchase_date)?

标签: sql


【解决方案1】:

如果您的意思是基于日期时间的基于 sum(item-purchase) 的月份,则查询:

   SELECT firstname , sum([item-purchased]), datepart(month,purchase_date)
FROM SalesChart 
  group by  firstname , datepart(month,purchase_date)
  order by  datepart(month,purchase_date) asc

输出是:

Max     4   1
lena    13  2
mona    9   3
Emy     7   4
Steve   5   4
lee     3   6
Frank   1   12

我已经创建了一个带有示例数据的 sql fiddle,例如您的列表请检查此Sqlfiddle

【讨论】:

  • 我从未见过有人想要或需要按按字母顺序订购月份。考虑订购我的月份 number
  • 在我们的 Fa-IR 文化中,我们按字母顺序进行 :) 我更改了代码。谢谢你的建议:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-16
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多