mysql - 在 case end 命令中使用集合

标签 mysql select set case

我有一个表 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 - 在 case end 命令中使用集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41816370/

相关文章:

java - 通过 ImmutableSet.copyOf() 和 new HashSet<>(list) 将列表转换为集合;

php - 通过 HTML 编辑 MySQL 数据库——选项?

php - 使用 PHP 在 mysql 中删除不起作用

MYSQL INSERT INTO FROM SELECT UPDATE WHERE 不存在

MySQL 选择使用通配符(但在字段中使用通配符)

interface - 是否可以在接口(interface)定义中使用 getter/setter?

c# - 属性与 get 之间的区别;放;没有得到;放;

sql - 仅使用 SQL 的 MySQL INSERT

mysql - 用数据填充表格(玩家排名)

jquery 检查是否选择了选项