我将销售数据存储在数据库中。sales_date 字段包含销售发生的日期。我想提取按月分组的数据,以便获得一月、二月等的聚合数据。有没有办法可以做到这一点,而不必提取整个数据然后手动进行?
问问题
6771 次
2 回答
3
您还可以使用更简单的形式:
q)t:([] date:10?.z.Z)
q)select date.month from t
month
-------
2013.10
2013.08
2004.09
2010.03
...
于 2014-11-17T23:15:33.703 回答
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
于 2013-04-17T13:04:23.853 回答