mysql - 谁能给我一个带有 CASE 语句的 SELECT 示例

标签 mysql select case

我有一个名为 chat_users 的表,其中包含以下列:

编号 |用户名 |状态 |时间模组 |观点

下面是一个 UPDATE with CASE 语句的例子,效果非常好:

$db->exec("UPDATE `proba13`.`chat_users`
SET `username` = CASE id
    WHEN 4 THEN 'Jie'
    WHEN 5 THEN 'Mie'
    WHEN 6 THEN 'Pres'
END,
`status` = CASE id
    WHEN 4 THEN '1'
    WHEN 5 THEN '2'
    WHEN 6 THEN '3'
END
WHERE id IN (4,5,6)");

问题: 谁能给我一个在同一张表上使用 CASE 语句的 SELECT 示例?

问候和 提前致谢!

最佳答案

这将返回与更新表相同的结果(但是,显然没有对其进行任何更改):

SELECT id,
       CASE id
         WHEN 4 THEN 'Jie'
         WHEN 5 THEN 'Mie'
         WHEN 6 THEN 'Pres'
         ELSE username
       END AS username,
       CASE id
         WHEN 4 THEN 1
         WHEN 5 THEN 2
         WHEN 6 THEN 3
         ELSE status
       END AS status,
       time_mod,
       views
FROM   proba13.chat_users

关于mysql - 谁能给我一个带有 CASE 语句的 SELECT 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903273/

相关文章:

mysql - 如何选择列中多个值共有的 id 或值

mysql - 如果 id 在连接表中的其他表中没有值,则显示静态值

mysql - "Can' t 将值插入我的数据库 's table from UI"

mysql - 这个mysql查询有什么问题?

mysql - CASE 和 IF 查询仅返回一个条件结果

mysql - NULL 值保存在数据库中而不是用户提交的信息

MySQL 统计性别实例

mysql - 需要一些编写 MySQL 查询的支持

MySQL案例-设置具有多个条件的列

scala - 如何让我的 Scala 程序退出并返回到 REPL?