首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

mysqlwhere条件后加case_recommend

大家好,又见面了,我是你们朋友全栈君。 背景:数据库用Oracle; 报表用是【FineReport】,之前没用过,被临时授命解决问题,所以大概了解了一下。...里面应该是集成了excel插件,报表样式如下: 今天在项目中遇到一个这样场景: A为汇总页面,显示是按医院分组统计出来一些数据,效果如下图 图中每一列都能下钻到另一个页面,医院名称和起始时间都作为参数传送...前期因为某一些需求,有一家医院出现了两个不同名称,所以将其中一个名称数据统计到了另一个名称下。而【检查数】这一列下钻后数据,恰恰是被合并名称下数据,所以下钻后就查不到数据了。...但我觉得这样客户体验不好,所以想到了能不能在where中增加case when。所以在网上查了一下,果然是可行。...所以就将下钻后查询条件修改成了下图这样: 之前条件为:study.HospitalName=’${xxxx}’。 这里记录一下,为以后需要同行铺一下路。

1.7K30

mysql条件查询

进阶2:条件查询 以下面如图数据库为例编写条件查询案例 语法: select 查询列表 from 表名 where 筛选条件; 分类: 一、按条件表达式筛选 简单条件运算符:> <...或not: 如果连接条件本身为false,结果为true,反之为false 三、模糊查询 like between and in is null 一、按条件表达式筛选 案例1:查询工资>12000员工信息...is null|is not null 1. like 特点: 1.一般和通配符搭配使用 通配符: % :任意多个字符,包含0个字符 _ :任意单个字符 案例1:查询员工名中包含字符a员工信息...in列表中某一项 特点: 1.使用in提高语句简洁度 2.in列表值类型必须一致或兼容 3.in列表中不支持通配符 案例:查询员工工种编号是 IT_PROG、AD_VP、AD_PRES中一个员工名和工种编号...和 区别 IS NULL:仅仅可以判断NULL值,可读性较高,建议使用 :既可以判断NULL值,又可以判断普通数值,可读性较低

3.4K00

mysql条件查询

文章目录 进阶2:条件查询 分类: 一、按条件表达式筛选 二、按逻辑表达式筛选 三、模糊查询 一、按条件表达式筛选 案例1:查询工资>12000员工信息 案例2:查询部门编号不等于90号员工名和部门编号...案例1:查询有奖金员工名和奖金率 安全等于 案例1:查询没有奖金员工名和奖金率 案例2:查询工资为12000员工信息 is null 和 区别 进阶2:条件查询 以下面如图数据库为例编写条件查询案例...或not: 如果连接条件本身为false,结果为true,反之为false 三、模糊查询 like between and in is null 一、按条件表达式筛选 案例1:查询工资>12000员工信息...3. in 含义:判断某字段值是否属于in列表中某一项 特点: 1.使用in提高语句简洁度 2.in列表值类型必须一致或兼容 3.in列表中不支持通配符 案例:查询员工工种编号是...is null 和 区别 IS NULL:仅仅可以判断NULL值,可读性较高,建议使用 :既可以判断NULL值,又可以判断普通数值,可读性较低

3.5K20

MysqlCase 使用介绍

工作中经常需要写各种 sql 来统计线上各种业务数据,使用 CASE 能让你统计事半功倍,如果能用好它,不仅SQL 能解决问题更广泛,写法也会漂亮地多,接下来让我们看看 CASE 各种妙用吧,在开始之前我们简单学习一下...'女' ELSE '其他' END 需要注意是每个WHEN子句都具有排他性,也就是说如果执行到某个 WHEN 子句为真,则剩余 WHEN 子句不会执行,所以为了引起不必要麻烦,WHEN 子句要注意条件互斥性...CASE 用法详解 知道了 CASE 用法,接下来我们来举几个例子来看下 CASE 几种妙用,首先让我们准备两张表(字段设计还有优化空间,只是为了方便演示 CASE 使用),用户表(customer...「ELSE vip END」极为关键,如果不加这一句,则如果 vip_level 不为 2 或 3,会被更新成 NULL,这样就会把其他值 vip_level 给清掉 总结 可以看到,使用 CASE...给我们带来了很大便利,不仅逻辑上更为紧凑,而且相比于多条 sql 执行,使用CASE WHEN」一行就能解决问题,方便了很多

1.1K20

mysql动态多条件查询

在做搜索时,经常会遇到多条件查询,且这些条件是不定,也就是说当用户输入条件参数为空时,该条件是不应该加到SQL语句中去。...和关键字p都是用户进行选择或输入,当用户并没有选择或输入其中一项时,该项过滤条件也就不应当存在,这样我们在页面中就需要进行逻辑判断,当条件越多,if语句也就出现得越多,页面中就出现了大量组合SQL...解决方案:将这类复杂查询语句(不怕麻烦,有2**n个select要写)先写成模板放入专门SQL模板文件中,针对MySQL,上面提到问题涉及到SQL模板语句如下: SELECT * FROM product...分别为产品表中两个字段名,{}标志位是我们要将参数替换进去地方,这样在查询页面只需调用SQL模板语句,并替换相应参数即可。...= price就起到了不进行过滤作用,这样就达到了动态生成多条件查询语句目的,页面中也就不需要进行繁琐组合SQL语句工作了)。

5.5K20

MySQL根据输入查询条件排序

问题      现在一个需求是查询某一列,用逗号分开,返回结果要根据输入顺序返回结果      比如:姓名输入框输入是(zhangsan,lisi),那么返回结果也要是按照(zhangsan,...lisi)这样顺序展示 测试 有如下表classroom,内容如下 如果根据字段名称去查,那么它会根据字典顺序排序,如下所示 select * from classroom where classname...classroom where classname in ("class2","class3") order by field(classname,"class3","class2") 如果我想在原来基础上...("class2","class3") order by field(classname,"class3","class2") ,createTime 注意: 如上面的SQL所示,by field里...条件必须比 in 里面的查询条件多,如果少一个,那么这个排序就不会成功 //成功 select * from classroom where classname in ("class2","class3

13210

Mysql-3】条件判断函数-CASE WHEN、IF、IFNULL详解

下面通过一个简单示例来看一下具体用法。 表score: ? 场景:在score表中,sex为1表示男性,sex=0表示女性,查询时转换成汉字显示。...2、条件表达式 CASE简单函数使用简便,但无法应对较为复杂场景,这就需要用到条件表达式了,其语法结构如下: CASE WHEN condition THEN result1 ELSE result2...3、综合使用 CASE WHEN 和 聚合函数综合使用,能实现更加复杂统计功能。...因此,我们希望在SQL中做一些处理,如果查询结果是null,就转换为特定值,这就要用到Mysql中IFNULL函数。...FROM goods WHERE name='light'; 但使用IFNULL语句,如果where条件name值是不存在,那么仍将返回null,例如: -- 返回结果:null SELECT

20.6K31

MySQL随机查询符合条件几条记录

随机查询,方法可以有很多种。比如,查询出所有记录,然后随机从列表中取n条记录。使用程序便可实现。...可是程序实现必须查询出所有符合条件记录(至少是所有符合条件记录id),然后再随机取出n个id,查询数据库。但是效率毕竟没有数据库中直接查询得快。下面介绍MySQL中怎样随机查询n条记录。...`level`=1) limit 1; 法2实现原理是,找出符合条件记录id范围[minId,maxId],然后随机生成一个id,使id在范围内,算法为id=minId+[0,maxId-minId...], [0,maxId-minId]可使用round四舍五入函数和rand随机函数实现。...然后大于等于此id记录既是符合条件随机记录。上述写法仅针对查询出一条记录。

3.7K20
领券