首页 > 解决方案 > 分组数据并添加新列

问题描述

你好来自stackeoverflow的人,我有下表:

输入

订单表

我需要按姓名姓氏分组,如果一个人的一个或多个状态正在“发送”,那么new_col将“未完成”,如果 一个人的所有状态都“发送”,那么new_col将“完成”。

预期产出

姓名 new_col
胡安 佩雷斯 没做完
玛丽亚 洛佩兹 没做完
马里奥 洛佩兹 完成的

我尝试分组,但我一直无法解决这个问题。

提前致谢。

标签: mysqlsqldatabasepostgresqlrelational-database

解决方案


SELECT name, 
       lastname, 
       CASE WHEN SUM(status != 'sended')
            THEN 'not finished'
            ELSE 'finished'
            END new_col
FROM table
GROUP BY name, 
         lastname

推荐阅读