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日

相关文章

  • Linux中 MySQL 授权远程连接的方法步骤

    下面是详细的步骤和示例: 1. 修改 MySQL 配置文件 首先需要修改 MySQL 的配置文件,找到 MySQL 配置文件 my.cnf 或者 my.ini,打开文件并找到 [mysqld] 段,添加以下内容: # 允许远程连接 bind-address = 0.0.0.0 # 开启远程连接授权 skip-networking = 0 其中 bind-ad…

    database 2023年5月22日
    00
  • PostgreSQL数据库中如何保证LIKE语句的效率(推荐)

    要保证PostgreSQL数据库中LIKE语句的效率,可以采用以下方法: 创建索引 在数据库中,可以为某些列创建索引,可以大大提高查询的效率。对于含有LIKE查询的列,可以通过使用特殊的索引来提高查询速度。一个常用的索引类型是btree索引,它适用于匹配前缀比较短的列。但是,对于像通配符%、_等比较复杂的模式匹配,btree索引并不适用。 可以使用全文本搜索…

    database 2023年5月19日
    00
  • SQL – Union 语句

    当需要将两个查询结果合并到一起时,可以使用UNION操作符。UNION操作符能够自动除去重复的行,因此,两个查询结果的结果集中相同的行只会出现一次。 语法: SELECT column1, column2, column3… FROM table1 UNION SELECT column1, column2, column3… FROM table2…

    database 2023年3月27日
    00
  • Mysql中时间戳转为Date的方法示例

    Mysql中存储时间戳和日期时间类型的数据,不同的数据类型在不同的场景下有不同的用途。如果需要将存储的时间戳转换为日期格式,可以利用Mysql中的日期函数来完成,下面就是将此完成的方法的详细攻略。 一、时间戳转化为日期格式的函数 MySQL提供了from_unixtime函数和date_format函数来进行时间戳的转化。前者可以将UNIX时间戳转化为标准的…

    database 2023年5月22日
    00
  • 记一次SQL优化的实战记录

    下面我为您详细讲解一下“记一次SQL优化的实战记录”的完整攻略。 一、前言 这是一篇SQL优化的实战记录,本文将从问题的提出、原因分析、技术选型、优化实现以及优化效果等方面,介绍如何对SQL进行优化,同时给出两个具体实例,帮助读者更好地理解SQL优化的过程和方法。 二、问题提出 我们公司的系统中有一张表A,这张表有6000万条记录,每天系统需要从中读取500…

    database 2023年5月19日
    00
  • redis读写分离及可用性设计

    对于下面两个架构图,有如下想法: 1)redis主从复制模式,为了解决master读写压力,对master进行写操作,对slave进行读操作。 2)而在分片集群中,如果对部分分片进行写,部分分片进行读,那么会导致写入后无法get指定key的情况。 3)二级缓存有必要吗?二级缓存最主要的问题解决存储介质由磁盘存储转变为内存存储,而redis本身就作为内存数据库…

    Redis 2023年4月11日
    00
  • 如何在Python中插入MongoDB数据库中的数据?

    以下是在Python中插入MongoDB数据库中的数据的完整使用攻略。 使用MongoDB数据库的前提条件 在使用Python连接MongoDB数据库之前,确保已经安装了MongoDB数据库,并已经创建使用数据库和集合,同时需要安装Python的驱动,例如pymongo。 步骤1:导入模块 在Python中使用pymongo模块连接MongoDB数据库。以下…

    python 2023年5月12日
    00
  • linux nc命令小结

    下面详细讲解“linux nc命令小结”的攻略。 标题 Linux nc命令小结 正文内容 简介 nc,全称为netcat,是一款Linux系统下的网络工具,用来实现TCP、UDP连接的创建、监听、接收和发送数据的功能。同时可以用来扫描端口,作为网络剪贴板等。 安装方法 使用下面的命令进行安装: sudo apt install -y nc 常用选项和参数 …

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部