【问题标题】:SQL Server Group only one categorySQL Server Group 只有一个类别
【发布时间】:2022-06-29 01:10:23
【问题描述】:

我使用的是 SQL Server 2019,我想得到一些结果,但我不知道如何。

我有表 ORDERS 有 5 列:1 ID、2.Date 3.Customer Name 4. Total Amount 和 5. Category。

我想要做的是,我想查看所有订单,但我只希望“食品”类别中的订单分组收集并显示在一行中,而其他类别 1 接 1 显示,只有订单什么有类别 FOOD 组和其他显示没有组。

谢谢

【问题讨论】:

    标签: sql vb.net group-by


    【解决方案1】:

    union 是最简单的方法。这样您就可以对“食物”类别进行分组,并逐行显示其他所有内容。

    SELECT
        [ID]
        ,[Date]
        ,[Customer Name]
        ,[Total Amount]
        ,[Category]
    FROM
        [ORDERS]
    WHERE
        [Category] != 'Food'
    
    UNION
    
    SELECT
        NULL [ID]              -- or MAX([ID]) [ID]
        ,NULL [Date]            -- or MAX([Date]) [Date]
        ,NULL [Customer Name]   -- or 'All Food Customers' [Customer Name]
        ,SUM([Total Amount]) [Total Amount]
        ,[Category]
    FROM
        [ORDERS]
    WHERE
        [Category] = 'Food'
    GROUP BY
        [Category]
    
    ORDER BY
        [Category]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-21
      • 2021-08-15
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多