繁体   English   中英

使用 GROUP BY - MYSQL 根据行级项目获取列

[英]Get column based on line level items using GROUP BY - MYSQL

MYSQL 表

上下文:对于上表,我想在组级别创建一个带有 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?

您可以计算订单项“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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM