按日期分组

时间:2017-10-31 08:08:06

标签: sql

我有这个表food_order,其中包含如下数据:

ID  food_name   order_id    order_month
1   apple       123         2017-02
2   apple       345         2017-11
3   pear        4656        2017-02
4   orange      5778        2017-09
5   apple       454         2017-02

我需要的是一张表格,显示特定食品在特定月份的订单数量。 我是

ID food name nr_orders month
1   apple   2           2017-02

我需要使用连接,而不是其他功能。 帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

您可以尝试SQL查询Microsoft SQL Server

SELECT MIN(id) [ID],
   food_name [food name],
   COUNT(order_id) [nr_orders],
   order_month
FROM #TM
GROUP BY food_name,
         order_month
ORDER BY ID;

结果:

    ID  food name   nr_orders   order_month
    1   apple       2           2017-02
    2   apple       1           2017-11
    3   pear        1           2017-02
    4   orange      1           2017-09

注意:order_month数据类型为VARCHAR

答案 1 :(得分:0)

你可以这样使用

SELECT food_name, SUM(quantity) as quantity, SUM(amount) as amount, MONTH(date) as Month
FROM food_order
GROUP BY food_name, MONTH(date)