我将销售数据存储在数据库中。 sales_date字段包含销售发生的日期。我想提取按月分组的数据,这样我就可以得到1月,2月等的汇总数据。有没有办法可以做到这一点,而不必提取整个数据然后手动完成?
答案 0 :(得分:3)
以下内容应该有效。如果数据在磁盘上分区,请记住在where子句中包含该分区。
q)tbl:([]dt:20?(2013.01.01;2013.02.01;2013.01.03);sales:20?100000)
q)select sum sales by `month$dt from tbl
dt | sales
-------| ------
2013.01| 701075
2013.02| 298200
q)select avg sales by `month$dt from tbl
dt | sales
-------| --------
2013.01| 50076.79
2013.02| 49700
答案 1 :(得分:2)
你也可以使用更简单的形式:
q)t:([] date:10?.z.Z)
q)select date.month from t
month
-------
2013.10
2013.08
2004.09
2010.03
...