我不完全确定如何提出这个问题,但我会解释我的问题...... 我在mysql数据库中有一个类似于
的表cust_name | order_date | sales_price
----------+------------+------------
john | 2013-02-11 | 100
matt | 2012-02-29 | 50
sam | 2013-03-13 | 25
tony | 2013-02-12 | 105
我发现DATE_FORMAT(order_date,'%M')可以带回日期的月份,而DATE_FORMAT(order_date,'%Y')也会在一年中做同样的事情。
我想做的是查询数据库以带回类似
的内容year | month | tot_price
------+------------------
2013 | 02 | 205
2013 | 03 | 25
2012 | 02 | 50
甚至可能只是在2013年带回价值。 我有几次类似的尝试:
SET @july := 0;
Select customer,
case DATE_FORMAT(order_date, '%M')
when 'july' then @july := @july + 1
end as amount
from mytable
但是,我无处可去,因为我意识到我不知道如何输出变量值...... 那么,我该怎么做才能编写这样的查询? 提前谢谢!
答案 0 :(得分:3)
Select year(order_date) as order_year,
month(order_date) as order_month,
sum(sales_price) as tot_price,
group_concat(cust_name) as customers_in_month
from mytable
group by order_year, order_month