mysql:关于case-when的使用

MySQL-练习-数据汇总-CASE WHEN 需求:我们要在报表中显示每种产品的库存量,但我们不想简单地将“ units_in_stock”列放在报表中。SELECTCASE上面的SQL查询结果中,我们创建了一个新列, 通过CASE WHEN语句来对这一列赋值CASE WHEN语法上面的查询中,通过列的值来判断库存的可用性库存大于100 的可用性为高(high)50到100的可用性为中等(moderate)小于50的为低(low)零库存 为 (none) 阅读详情

mysql中关于case-when的三种使用场景

在数据库中,case when常用来做条件判断,在一些场景下十分方便。

开始之前

数据准备:参加某一次竞赛时的学生成绩,sex代表性别(1为男0为女),subject代表学科,score代表分数。张三属于一班,王红属于二班,周浩属于三班

在这里插入图片描述

第一种:已知数据按照另外一种方式进行分组,聚合

设想这样一个场景:我想知道每个班总分是多少;代码在下面给出

SELECT SUM(score),
(case name
	when '张三' THEN '一班'
	when '王红' THEN '二班'
	ELSE '三班'
END) class
from student_score
GROUP BY 
case name
	when '张三' THEN '一班'
	when '王红' THEN '二班'
	ELSE '三班'
END;

结果:

在这里插入图片描述
上面sql的意思就是:将张三认为是一班的人,王红认为是二班的人,其他的(剩余周浩)认为是三班的人,然后按照这个分法分组求和,得到了想要的结果。

第二种:用一个SQL语句完成不同条件的分组。

设想这样一个场景:我想知道每个学科男生女生分别得到多少分;代码在下面给出

SELECT `subject`,
SUM(CASE WHEN sex = 1 THEN score ELSE 0 END) male,
SUM(CASE WHEN sex = 0 THEN score ELSE 0 END) female
FROM student_score
GROUP BY `subject`;

结果:

在这里插入图片描述

上面sql的意思就是:按照学科分组聚合时,male一列表示sex为1则score保持不变,sex为0时则score为0;
female一列与male一列代表的意义相反,sex为0则score保持不变,sex为1时则score为0.

第三种:根据条件有选择的UPDATE

设想这样一个场景:我想对每一项分数,依据是大于80的分数减10,小于70的分数加5,其他的部分不变;代码在下面给出

UPDATE student_score set 
score = (
CASE WHEN score > 80 then score - 10
	WHEN score <70 THEN score + 5
	ELSE score
END);

上面sql的意思就是:按照条件来判断每一条数据,然后更新.

BlockUI专栏目录 BlockUI是一个设计NX对话框的工具,是官方推荐使用的对话框制作方法,能够与NX自身风格相统一,并且在实际开发中经常被使用。BlockUI可以帮助用户快速创建NX对话框,支持多种控件类型,如按钮、文本框、标签等。通过使用BlockUI,用户可以轻松地自定义对话框的布局、样式和交互行为。此外,BlockUI还提供了一些高级功能,如动态更新、条件显示和事件处理等,以帮助用户创建更加复杂和灵活的对话框。本专栏讲述了使用BlockUI制作NX对话框的方法,介绍了每个控件的功能,并且分享一些常用操作的源码。 阅读详情

相关推荐

手把手教你解决CentOS sshd启动报错:从权限问题到目录缺失的全套解决方案

本文提供了一套完整的CentOS SSH服务启动故障排查与修复方案。针对sshd启动报错,从systemd日志分析、sshd -t配置测试入手,详细解决了私钥文件权限过宽(如0644错误)和权限分离目录缺失等典型问题,并附带了扩展排查清单,帮助运维人员系统性地定位和解决连接故障。

weixin_29248611的博客 152

SQL 中CASE WHEN 使用

SQL 中CASE WHEN 使用 一、使用场景: 【场景】:数据库中某列包含 NULL 、‘1’、‘2’,其中‘1’代表男,‘2’代表女 【背景】:希望通过SQL查询出来的是‘’,男,女=》直接转换后的 姓名 sex age 张三 Null 32 李四 1 25 王五 2 67 赵六六 男 45 吴七 女 98 宋八一 3 23 二、CASE WHEN 公式 【公式一】: CASE 表达式或字段 WHEN 值1 THEN 语句1; WHEN 值2 THEN 语

大能人powerman的博客 1395

从时序精度到视觉盛宴:PY32F030驱动WS2812的工程艺术与避坑指南

本文深入探讨了基于PY32F030微控制器驱动WS2812智能LED的完整解决方案。通过精确的时序控制、硬件PWM结合DMA传输技术,实现了稳定可靠的驱动效果,并提供了电源管理、信号完整性和常见问题排查等实用避坑指南,帮助开发者轻松应对严格的纳秒级时序挑战。

wind6的博客 120

MySql几个函数及语法

1.1 IFNULL 1.2 GREATEST 最大值 1.3 LEAST 最小值 1.4 CURDATE 当前日期 2.1 CASE WHEN 2.2 INSERT INTO ... ON DUPLICATE KEY UPDATE ... 2.3 UPDATE JOIN 3.1 SELECT 注意事项

p1049990866的博客 261

保姆级教程:在K230开发板上为张大头步进电机实现位置、速度、回零全功能控制

本文提供了一份详细的K230开发板与张大头步进电机的控制教程,涵盖硬件连接、协议解析、模块化代码实现及实战案例。通过位置、速度和回零功能的全面讲解,帮助开发者快速掌握步进电机的高级控制技术,适用于自动化、机器人等应用场景。

weixin_42629671的博客 708

SATA硬件电路设计实战:从接口规范到高速布线技巧

本文深入探讨了SATA硬件电路设计的核心要点与实战技巧。从接口物理电气规范、AC耦合电容与阻抗控制等基础,到FPGA/SoC高速收发器选型配置,再到应对6Gbps高速信号的PCB布局布线艺术,系统性地解析了SATA电路设计中的关键挑战与解决方案,助力工程师规避常见陷阱,实现稳定可靠的存储接口设计。

tech5的博客 530

case when的几种写法区别

1.case when的作用 case when的主要作用就是判断取的字段值是否等于某个值,如果等于就等于一个值,否则等于另外的值 2.case when的俩种写法 case 有俩种写法:分别是简单case函数和搜索case函数 初始表内容: ±--------±----------+ | de1.id | de1.name | ±--------±----------+ | 1 ...

qq_42508714的博客 9112

【物理模拟】PBD算法详解

参考MatthiaMuller的十分钟物理(他就是PBD算法的发明者)

beidou111的博客 9499

mysql中case when的用法

case when的使用情况有三种 等值转换 范围转换 列转行操作 1.等值转换 设计数据库的时候总会把用户的性别用int存储('0’为女,'1’为男),但是怎么把它抓换成汉字显示呢? select name as '姓名', (case sex when 0 then '女' else '男' end) as '性别' from test.student; 查询结果: 2.范围转换 按照用户成绩显示优(90分以上)、良(80分-90分)、及格(60分-80分)、不及格(60

大数据 7万+

深度强化学习 | 基于DQN实现Flappy Bird游戏与分析

在Flappy Bird中,玩家需要通过控制小鸟安全穿过随机长度的水管来得分。本文基于深度Q网络DQN来实现Flappy Bird游戏的自主探索与学习

FRIGIDWINTER的博客 5911

Apifox接口测试+自动化测试

Apifox 接口测试+自动化测试快速入门!

程序员小杨哥的博客 1万+

Mysql查询时case when语句的使用

前言 前几天在技术论坛论坛上发现一个求助帖,大体意思就是要把一个表中的数据按条件分成两类,每一类排序方式不同,然后整体作为查询的结果集,乍一看这问题不是很难,很多人给出的答案是分别查询排序后再 union合并到一起,但是后来楼主明确指出不想使用 union 操作,这时有一位高人巧用 case when 语句解决了问题,其实这是我第一次接触 case when 语句,于是查询了一下具体用法,在此做

AlbertS Home of Technology 1万+

2025机械考研复试面试问题汇总篇(含13门科目),考研机械复试专业面试常见重点问题总结!考研机械复试专业面试准备看这一篇就够了!

(完整版内容:)1.汇集了本科各科的重点知识及多个机械名校800多个常见问题,共8.7万字185页,涵盖机械所以专业课的重点知识和常见问答。 2.涉及机械大类重点科目,包括:材料力学、控制工程、数控技术、机械制造技术基础、理论力学、液压传动、机械设计、机械原理、工程材料、互换性与技术测量、测试技术、汽车理论、程序设计与C语言等13门必修课。

weixin_56510835的博客 1861

MySQL 的CASE WHEN 语句使用说明

介绍mysql数据库中case when语句的用法,首先介绍case when语句的基础知识,然后提供了相关例子。 (1)mysql数据库中CASE WHEN语句。 case when语句,用于计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。 语法如下: 1)简单 CASE 函数: CASE input_expression WH

开心博客 5万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mysql on case when,MySQL 的CASE WHEN 语句使用说明

mysql数据库中CASE WHEN语句。case when语句,用于计算条件列表并返回多个可能结果表达式之一。CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。CASE 搜索函数计算一组布尔表达式以确定结果。两种格式都支持可选的 ELSE 参数。语法简单 CASE 函数:复制代码 代码如下:CASE input_expressionWHEN when_e...

weixin_42593130的博客 1119

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MySQL case when 用法

MySQL 的 case when 的语法有两种: CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END CASE WHEN [expr] THEN [result1]…ELSE [default] END 这两种语法有什么区别呢? CASE [col_name] WHEN [value1] THEN [resul...

p7+的博客 15万+

MySQL中case when的基本用法总结

MySQL中的case when有用两种用法,官方文档中的说明如下: 用法一: CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list] END CASE 用法二: CASE WHE...

Backcanhave7 2万+

MySQL case when 使用

MySQL 的 case when 的语法有两种: 1.简单函数 CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END 2.搜索函数 CASE WHEN [expr] THEN [result1]…ELSE [default] END 简单函数 CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚举这个字段所有可能的值 SELECT NAME '英

weixin_44026997的博客 405

mysql case when用法

MySQL 的 case when 的语法有两种: 简单函数 CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END 搜索函数 CASE WHEN [expr] THEN [result1]…ELSE [default] END 这两种语法有什么区别呢? 简单函数 CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚举这个字段所有可能的值* SELECT

webot123456的博客 3286

mysql中的case when

一、case when 后的select后的简单函数例子 表的内容如下: SELECT CASE id WHEN 2 THEN '第二条' WHEN 3 THEN '第三条' ELSE '其他条' END AS newid, uname, number, uid FROM test_key_order; 结果如下: 二、case when 后的select后的搜索函数例子 SELECT CASE WHEN parent_id < 3 THEN '&l

阿鹏 2772

mysql中case when的使用

在写数据库语句的时候如果需要根据判断来确定结果的时候可以使用CASE ....when 上例子: 我需要根据查询的姓名为‘zhangsan’给他一个true状态,其他的为false SELECT *,CASE tb.username WHEN ('zhangsan') THEN TRUE ELSE FALSE END as state from tb_user tb 执行结果: ...

linlinlinfeng的博客 3万+

mysql case when

MySQL 的 case when 的语法有两种: 简单函数CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END 搜索函数CASE WHEN [expr] THEN [result1]…ELSE [default] END 这两种语法有什么区别呢? 简单函数 CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚举这个字段所有可能的值* ..

记录我学习的点点滴滴 442

Mysql之case when基本用法以及它的返回值类型

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34148340的博客 3483
上一篇: poi实现excel级联下拉框
下一篇: @ConfigurationProperties注解的使用
过河的小卒子
博客等级 码龄10年 39粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值