【问题标题】:Get column based on line level items using GROUP BY - MYSQL使用 GROUP BY - MYSQL 根据行级项目获取列
【发布时间】:2022-09-23 12:52:59
【问题描述】:

MYSQL TABLE

上下文:对于上表,我想在组级别创建一个带有 order_no 和 Manufacture 列的视图“VIEW_A”。

where Manufacture  = A if line level items have `manf` = A or \"\".
where Manufacture  = B if line level items have `manf` = B
where Manufacture  = Mixed if line level items have `manf` A and B.

How can I solve the issue?

标签: mysql phpmyadmin


【解决方案1】:

您可以计算订单项“A”和订单项“B”,然后将这些数字与每个订单的订单项总数进行比较:

SELECT order_no, 
       CASE WHEN sum(CASE WHEN `manf` = 'A' THEN 1 END) = count(*) THEN 'A'
            WHEN sum(CASE WHEN `manf` = 'B' THEN 1 END) = count(*) THEN 'B'
            ELSE 'Mixed' END Manufacture
  FROM mytable
 GROUP BY order_no;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2016-06-08
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多