MySQL case when使用方法实例解析

MySQL case when使用方法实例解析

一、介绍

MySQL中的case when语法可以让我们更加灵活地处理数据,可以根据指定的条件返回不同的结果。使用case when结构通常会为在单个查询中使用IF语句或选择性SUM做法提供更清晰和可读性更高的代码结构。

二、基础语法

以下是MySQL case when基础语法的示例:

SELECT
    column1, column2,
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        WHEN condition3 THEN result3
        ELSE result4
    END
FROM table;

该查询将查询table中的column1和column2列并根据条件语句返回对应的结果。

三、示例说明

1.根据成绩分数段给学生评级并统计级别人数

以下是基于case when语法的根据成绩分数段给学生评级并统计级别人数的示例:

SELECT 
    grade,
    SUM(CASE 
            WHEN score BETWEEN 90 AND 100 THEN 1 
            ELSE 0
        END) AS A,
    SUM(CASE 
            WHEN score BETWEEN 80 AND 89 THEN 1 
            ELSE 0
        END) AS B,
    SUM(CASE 
            WHEN score BETWEEN 70 AND 79 THEN 1 
            ELSE 0
        END) AS C,
    SUM(CASE 
            WHEN score BETWEEN 60 AND 69 THEN 1 
            ELSE 0
        END) AS D,
    SUM(CASE 
            WHEN score < 60 THEN 1 
            ELSE 0
        END) AS E
FROM student
GROUP BY grade;

上述查询将计算每个年级中每个等级中的学生数量。根据分数段给学生评级并统计相应级别人数。

2.求购物车中所有商品总价

以下是基于case when语法的求购物车中所有商品总价的示例:

SELECT 
    SUM(
        CASE 
            WHEN quantity <= 10 THEN price * quantity 
            ELSE price * quantity * 0.9 
        END
    ) AS total_price
FROM cart;

上述查询将计算购物车中所有商品的总价,并根据商品数量计算折扣。

四、总结

在MySQL中,case when是一种流行的数据转换技术,可以让我们更好地处理数据。case when语法可以让我们使用相同的SQL查询语句解决大多数数据转换问题,清晰、可读性高。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL case when使用方法实例解析 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Orancle的SQL语句之多表查询和组函数

    下面就是关于“Oracle的SQL语句之多表查询和组函数”的完整攻略。 多表查询 在实际的业务场景中,我们经常需要从多个表中查询数据,这就要用到多表查询。Oracle中的多表查询主要有三种方式: 内连接:查询两个表中的共同数据,即交集。使用 INNER JOIN 或 JOIN 关键字实现。 左连接:查询第一个表中的所有数据和第二个表中的共同数据,即左表包含所…

    database 2023年5月21日
    00
  • 规范化和非规范化的区别

    一、规范化和非规范化的区别 在数据处理领域,规范化和非规范化是两个重要的概念。规范化是指将一个不符合规范的数据集转化为符合某种规范的数据集的过程。通过规范化可以提高数据的一致性和可靠性。相反,非规范化则是指不遵循某种规范来处理数据。 规范化可以有效的解决数据冗余和不一致性等问题,同时提高数据的查询和修改效率。例如,在一个电商网站的顾客信息表中,顾客姓名和顾客…

    database 2023年3月27日
    00
  • MongoDB常用概念介绍

    MongoDB是一种开源文档型NoSQL数据库,使用JSON格式保存数据。在使用MongoDB时有一些常用概念,本文将对这些概念进行详细的解释和说明。 MongoDB 集合(Collection) 集合是MongoDB中用来存储数据的地方,类似于关系型数据库中的表。集合中存储的是文档(Document),每个文档是一个键值对(Key-Value)的构成,键是…

    MongoDB 2023年3月13日
    00
  • MySQL创建唯一索引时报错Duplicate entry * for key问题

    MySQL创建唯一索引时报错”Duplicate entry *** for key”问题通常是因为在唯一索引列中存在同名的两条记录,导致插入数据时出现了重复键值。有以下几种方法可以解决此问题: 方法一:删除重复数据 第一步:找出重复数据 可以通过以下语句找出重复数据: SELECT col1,col2,COUNT(*) FROM table_name GR…

    database 2023年5月22日
    00
  • sql server查询语句阻塞优化性能

    当并发访问SQL Server数据库时,可能会出现阻塞(Blocking)的情况。阻塞指的是一个正在执行的查询阻止了另一个查询的执行,造成了后者等待前者的完成。 针对这种情况,我们可以采取以下措施进行阻塞的优化,提升性能: 分析数据库的阻塞情况 通过SQL Server提供的性能监视器(Performance Monitor),可以收集数据库的各项指标数据,…

    database 2023年5月21日
    00
  • [Redis] redis的设计与实现-对象系统

    1.redis并没有直接使用前面的数据结构实现键值对数据库,而是基于数据结构创建了一个对象系统,字符串对象/列表对象/哈希对象/集合对象/有序集合对象都用到了至少一种前面的数据结构2.针对不同的使用场景,为对象设置多种不同的数据结构实现,从而优化对象在不同场景下的使用效率3.redis的对象系统实现了基于引用计数的内存回收机制,通过引用计数实现了对象共享机制…

    Redis 2023年4月11日
    00
  • Linux 命令每天必学(34)之du命令

    当我们需要了解目录或文件所占用的磁盘空间时,du(Disk Usage)命令就派上用场了。du命令可以用于计算目录或文件所占用的磁盘空间,并以可读性高的形式输出结果。 命令格式 du [参数] [路径] 常用参数 -h:以可读性高的方式显示结果 -s:仅显示总计,不要列出每个子目录的详细信息 -c:显示全部目录或文件的总计 命令示例 示例一 统计当前目录下每…

    database 2023年5月22日
    00
  • centos7中redis安装配置

    1.官网下载对应版本,本例以5.0.5为例 2.tar -zxvf xxxxx 并mv到安装目录 3.进入redis-5.0.5目录下,执行编译命令 make 4.编译完成后,经redis安装到指定目录下 make PREFIX=/usr/local/redis install 5.安装完成后进入redis目录下,会发现有一个bin目录 6.启动 方式一,进…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部