我有一个名为T的表T。我想做类似的事情

select (CASE
              WHEN T.county IN ('Ana', 'Beba', 'Ceca') THEN 'Rural'
              WHEN T.county IN ('Bob', 'Mob', 'Cob') THEN 'Urban'
        END) 'County Group'


县的可能值是“ Ana”,“ Beba”,“ Ceca”,“ Bob”,“ Mob”,“ Cob”

如何才能做到这一点?我正在尝试使用('Ana','Beba','Ceca')和('Bob','Mob','Cob')作为集合

谢谢
约瑟

最佳答案

您的查询很好,尽管我会这样写:

SELECT (CASE WHEN T.county IN ('Ana', 'Beba', 'Ceca')
             THEN 'Rural'
             WHEN T.county IN ('Bob', 'Mob', 'Cob')
             THEN 'Urban'
        END) as CountyGroup
FROM T;


建议:列名不要使用单引号。将来您可能会遇到问题。

关于mysql - 在案例结束命令中使用集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41816370/

10-08 22:22