一条语句返回多个count值
select (select count(*) from award) as c1,(select count(*) from award where RYLB='先进基层组织') as c2
sql多条件查询的一种简单方法
select * from table where (addDate = @addDate or @addDate is null) and (name = @name or @name = '')
在多条件查询时,这种方法非常有效。但应注意一点:对每一对or要加上括号,否则,多个and,or混合,可坑导致选出的结果不准确
-
2019-10-01 14:05:18
转载于:https://www.cnblogs.com/Spacecup/p/3572890.html
更多相关内容 -
oracle 查询为空返回指定值,及满足条件返回指定值
2019-10-16 16:41:23查询结果存在为空给与一个默认值 nvl(h.date_type, '时间类型') as dateType 根据条件判断返回对应值 第一种: case when h.date_time= 0 then '7天' when h.date_time= 1 then '半个月' when h...查询结果存在为空给与一个默认值
nvl(h.date_type, '时间类型') as dateType
根据条件判断返回对应值
第一种:
case when h.date_time= 0 then '7天' when h.date_time= 1 then '半个月' when h.date_time = 2 then '一个月' end as dateTime
第二种:
decode(h.yqsj,'0','7天','1','半个月','一个月)
-
Excel VLOOKUP函数怎么查询一个值返回多个结果
2018-03-22 10:29:00VLOOKUP函数只能返回一个结果,如果想要一对多查询,可以使用其他函数,看下边例子,将部门为A的姓名列举到E列: 一、一个单元格放一个名字:E2公式=IFERROR(INDEX(B:B,SMALL(IF(A:A=D$2,ROW(A:A)),ROW(A1))),...VLOOKUP函数只能返回一个结果,如果想要一对多查询,可以使用其他函数,看下边例子,将部门为A的姓名列举到E列:
一、一个单元格放一个名字:E2公式=IFERROR(INDEX(B:B,SMALL(IF(A:A=D$2,ROW(A:A)),ROW(A1))),""),数组公式,三键结束;
二、将A部门的姓名放在E2单元格中,用逗号隔开:首先将数据按部门排序,然后在E2公式=MID(SUBSTITUTE(PHONETIC(OFFSET(A1,MATCH(D2,A2:A12,),,COUNTIF(A:A,D2),2)),D2,","),2,99),数组公式,三键结束。
转载于:https://www.cnblogs.com/janicemvidal/p/8621979.html
-
MYSQL中子查询有多个结果返回怎么处理
2021-03-15 02:36:44查询条件不同,返回多个结果整合在查询的时候,有时候常常须要用到子查询,好比查询今天的订单数量, 7天的订单数量,31天的订单数量, 这种条件不同,可是非要整在一个表中来显示就须要不少子查询来实现了:javaselect...问题
1. 查询条件不同,返回多个结果整合
在查询的时候,有时候常常须要用到子查询,好比查询今天的订单数量, 7天的订单数量,31天的订单数量, 这种条件不同,可是非要整在一个表中来显示就须要不少子查询来实现了:java
select(select xx from xx where 条件一) as 结果一,
select(select xx from xx where 条件二) as 结果二,
select(select xx from xx where 条件三) as 结果三
这个时候咱们须要在一条sql将这三个结果查出来,可使用UNION和UNION ALLmysql
UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。当 ALL 随 UNION 一块儿使用时(即 UNION ALL),不消除重复行sql
也就是咱们能够拼成一个表,好比如今有这么一个表:数组
若是咱们须要分别查出年龄小于18和大于18的人数,因为查询条件不同,因此须要用到两个查询函数
SELECT
COUNT(*)
FROM
USER
WHERE age < 18 ;
SELECT
COUNT(*)
FROM
USER
WHERE age >= 18 ;
使用UNION:code
SELECT
*
FROM
(SELECT
COUNT(*)
FROM
USER
WHERE age < 18
UNION
SELECT
COUNT(*)
FROM
USER
WHERE age >= 18) a
可是查出来的结果是在一列里面,没法得知哪一个是18如下的字符串
咱们能够拼接一个0使其为两个字段(两列),这里注意两条子查询的别名都要同样string
SELECT
*
FROM
(SELECT
COUNT(*) AS '18如下人数',
0 AS '18以上人数'
FROM
USER
WHERE age < 18
UNION
SELECT
0 AS '18如下人数',
COUNT(*) AS '18以上人数'
FROM
USER
WHERE age >= 18) a
这个时候是两条记录,分别使用SUM获得总数就能够变成一条记录了it
2. 查询条件同样,返回多个结果整合
可是有时候, 几个结果的条件是同样的, 可是子查询只能返回一个结果, 也就是咱们须要分红多个子查询来查询相同的条件table
SELECT(SELECT xx FROM xx WHERE 条件一) AS 结果一,
SELECT(SELECT xx FROM xx WHERE 条件一) AS 结果二,
SELECT(SELECT xx FROM xx WHERE 条件一) AS 结果三,
SELECT(SELECT xx FROM xx WHERE 条件二) AS 结果四
处理
在网上搜罗一圈后, 有一个解决办法挺新颖的, 大概就是先把一样条件的多个结果, 先拼接成一个, 再在外面进行拆分, 在java里面好比是"aa,bb,cc".split(",")
select
SUBSTRING_INDEX(temp.结果一,',',1) as 第一列数据,
SUBSTRING_INDEX(SUBSTRING_INDEX(temp.结果一,','2),',',-1) as 第二列数据,
SUBSTRING_INDEX(temp.结果一,','-1) as 第三列数据,
temp.结果二 as 第四列数据
FROM(
select(select concat_ws(',',数据一, 数据二,数据三) from xx where 条件一) as 结果一,
select(select xx from xx where 条件二) as 结果二
)temp
[补充]关于substring_index的用法
SUBSTRING_INDEX('待切割的字符串', '截取分割的字符,好比逗号' , 长度)
长度为负数,从右边开始, 好比"a,b,c,d", 长度为-1取得是"d"(能够理解为在java中,利用split分割以后,取数组中的前几个元素)
取a: SUBSTRING_INDEX("a,b,c,d" , "," , 1)
取b: SUBSTRING_INDEX(SUBSTRING_INDEX("a,b,c,d" , "," , 2) ,",",-1) 先拿到前2位,再取最后一位
取d: SUBSTRING_INDEX("a,b,c,d" , "," , -1)
取cd: SUBSTRING_INDEX("a,b,c,d" , "," , -2)
示例1:
SELECT
SUBSTRING_INDEX(temp.today, ",", 1) AS `今日加购量`,
SUBSTRING_INDEX(temp.today, "," ,- 1) AS `今日加购商家数`
FROM
(
SELECT
CONCAT_WS(
',',
COUNT(*),
COUNT(DISTINCT c.MALL_STORE_ID)
) AS today
FROM
mall_goods_cart c
WHERE
STR_TO_DATE(c.CREATE_TIME, '%Y-%m-%d') = CURDATE()
) AS temp
mysql日期函数函数:
SELECT NOW(),CURDATE(),CURTIME()
NOW()
CURDATE()
CURTIME()
2008-12-29 16:25:46
2008-12-29
16:25:46
示例2:需求:关联查询另外一个大表数据的某些(一个以上)字段
方案:因关联查询的表数据太大。多表查询影响效率,单个子查询又有些多余。因此采用多列拼接子查询,而后根据SUBSTRING_INDEX(SOURCE,SEPARETOR,INDEX+1)。
原理:子查询返回拼接列;函数截取还原列
SELECT
SUBSTRING_INDEX(temp.temp_column,",",1) showFirst,
SUBSTRING_INDEX(temp.temp_column,",",-1) showOver,
SUBSTRING_INDEX(SUBSTRING_INDEX(temp.temp_column,',',2),',',-1) showTwo,
temp.*
FROM
(
SELECT (
SELECT CONCAT_WS(',','12','23','34','45')) temp_column
) temp;
固然,若是仅仅只是在返回的多行数据之中随便抽取一列便可,可使用limit,,找到一个符合条件的就能够了
select * from table1 where table1.colums=(select columns from table2 limit 1);
或者使用any函数:
select * from table1 where table1.colums=any(select columns from table2);
-
笔记:递归寻找满足条件key 并且返回对应的值
2022-02-11 11:19:03场景: 有时候后端给我们的数据 我们不能直接使用展示,这时我们...简单的过滤我们可以直接写个if else if去替换,但是往往我们都需要请求接口对应字典表去查找????. --------------------------------------------.. -
【存储过程】-子查询返回的值多于一个
2018-03-20 12:03:27小编最近的项目在测试阶段,跟存储过程打的火热,调用存储过程的时候遇到一个问题:子查询返回的值多于一个,这次记录下来跟大家分享一下。 问题 异常错误描述: &... -
case when then 后返回多个值
2018-09-27 17:35:31背景:查询数据,需要根据不同性别选择不同的排序字段和排序规则,总体先按照性别排列,“女”排在“男”前,然后性别为“男”按照last_name,height,family_name,age进行升序排列,性别为“女”按照family_name,... -
oracle根据条件不同返回不同的值
2018-06-08 10:16:06decode函数(如果条件=‘等于条件1’,则返回‘返回值1’) decode(条件,‘等于条件1’‘返回值1’,‘等于条件2’‘返回值2’,‘等于条件3’‘返回值3’,)... -
excel查找一行中一个单元格的值,返回前一个单元格值的公式
2018-08-17 17:07:00=offset(A1,match(c2,b2:b2032,0),0) 参考 ... -
Excel求同时满足多条件的最大值求法
2021-10-17 16:32:39【解法2】来自群里梁老师,该方法将if的两个条件判断作积,同时乘积才为真,而后返回C:C数据。 注意:输入公式后,需要按键盘上的ctrl+shift+enter键才是以数组的方式来处理,出现公式中的{}符号。 ... -
JavaScript查找一个数组中符合某个条件的值,并将符合条件的值存入新的数组
2020-07-06 13:53:121. 利用find函数和es6箭头函数,下面方法取到数组中满足条件的第一个元素; var newArray = {};//新对象 var array = [ {name:'aiai',age:18}, {name:'sisi',age:18}, {name:'lulu',age:18}, {name:'sisi',age:... -
从C++函数返回多个值
2017-06-30 11:42:10作者:Eli Bendersky ... 因为C++没有内置的从函数或方法返回多个值的语法,程序员在需要时使用各种技术来模拟之,而自C++11的引入,这个...在本文里,我想提供我们今天所拥有的从函数返回多个值的某些选择的一个概况, -
SQL多表查询和查询一个表中某字段值相同的数据
2016-07-13 15:42:51多表查询,查询表中某字段值相同的数据 -
mysql 多表查询中 根据一个表中一个字段的最大值求另一个字段
2020-11-30 16:21:04mysql 多表查询中 根据一个表中一个字段的最大值求另一个字段,获取 查询最大值的这条数据。 示例 表a: id name 1 张三 2 李四 表b: id sex a_id 1 女 1 2 男 2 表c: id a_id age ... -
EXCEL,如何进行查找,单条件和多条件查询
2020-12-24 18:18:56注意:查找下一个 查找全部 注意:查找,查找全部 替换功能 筛选功能 2 查找数据可使用公式 2.1 先看单条件查询,可能出现的结果 (提前考虑你的函数要返回什么样的结果,会报错么?) 单一条件查询... -
Oracle的将一个语句的查询字段结果作为另一个语句的查询字段字符并返回查询的值
2018-11-02 10:54:24将一个语句的查询字段结果作为另一个语句的查询字段并返回查询的值 SELECT PJ_JFSf FROM tg_zb_zbkzb WHERE zbuuid=v_zbuuid) --case when sum(fm) > 0 then sum(fz)/sum(fm) ELSE 0 end create or ... -
Mysql带And关键字的多条件查询语句
2021-01-19 02:07:40MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回。SELECT * | {字段名1,字段名2,……}FROM 表名WHERE 条件表达式1 AND 条件表达式2 ... -
VLOOKUP函数多条件(两个或三个条件)查询
2018-08-14 18:57:03以下图表格为例,在介绍多条件查询方法之前,先来了解下VLOOKUP函数的基础用法,用一句话介绍就是,VLOOKUP函数是在垂直方向上向右查找。 各种教程中,VLOOKUP函数的语法结构都是英文,不太好理解,用... -
在Excel中根据条件查找匹配多个值
2013-12-05 14:54:56在Excel中根据条件查找匹配多个值(vlookup只能匹配第一个值)之前在深圳的时候就被问过这个问题,今天又遇到同事在问,索性记录在此。如下图,根据E列的值,在A列中查找对应的数据,输出匹配行上B列的值,依次填入到F... -
mysql中子查询有多个结果返回怎么处理
2018-07-18 17:08:51在查询的时候,有时候经常需要用到子查询,比如查询今天的订单数量, 7天的订单数量,31天的订单数量, 这种条件不一样,但是非要整在一个表中来显示就需要很多子查询来实现了: select(select xx from xx where 条件一) ... -
excel解决vlookup查询只能返回第一个结果的问题
2020-10-30 11:01:16再不用宏和用不了xlookup等的情况下,可以使用: 原答案链接:https://zhidao.baidu.com/question/1383367457188710700.html?qbl=relate_question_0&word=vlookup%B7%B5%BB%D8%B6%E0%B8%F6%BD%E1%B9%FB -
EXCEL如何进行多条件的数据查找返回
2018-03-22 09:03:00在使用EXCEL时经常会碰到一个表里的同一款产品每天的销量都不一样,然后我们需要查导出每一款产品每天的销量,即一对多条件查找。这个教复杂,我们要用到好几个函数的综合,下面小编来教你吧。 工具/原料... -
hive:函数:条件函数:coalesce 返回从左到右返回第一个不为NULL的值
2019-06-24 01:01:09coalesce(var1, var2, var3, …),从左到右返回第一个不为NULL的值。 select coalesce(null,null,"你","好","明","天") filed; 返回: 你 -
sql根据一个字段不同值查询不同表中的一个字段
2021-01-19 13:02:51展开全部工具2113/材料:Management Studio。...2、之4102后在该界1653面...3、接着在该界面中,输入根据一个字段不同值查询不同表中的一个字段的sql语句:SELECT b.BonusPenaltyMoney FROM mySGProject a join mySGBon... -
mysql中查询两个表同一条件的数据条数该怎么写sql语句
2021-01-18 18:05:09点击查看mysql中查询两个表同一条件的数据条数该怎么写sql语句具体信息答:不知道你的a,b两表有没有关联,假定没有关联 select count(1)from (select idfrom a where id>5union allselect id from b where id>... -
一条sql语句查询多个条件的写法
2020-08-18 15:21:401.一条sql语句查询多个条件的写法 (1)sql语句的使用 SELECT p1.count1 AS todayAdd,p2.count2 AS todayReturns,p3.count3 AS sameMonthAdd,p4.count4 AS lastMonthAdd FROM (SELECT COUNT(create_time)count1 ... -
sql中引用一个表的查询结果作为条件来查询另一个表如何实现?
2021-01-20 20:58:56展开全部sql中引用一个表的查询结果作为条件来查询另一个表称为sql嵌套查询。简单子查询示例:Copyselect name,age from personwhere age >( select age from personwhere name = '孙权62616964757a686964616fe4b... -
查找一组数据中的最大值并返回
2019-01-23 17:45:36// 查找一组数据中的最大值并返回 template <typename T> T frmDataCurve::max(QVector<T> _dataVec) { T max = _dataVec.at(0); for(int i = 1; i < _dataVec.count(); i++) ... -
excel 多条件查找三种方法:lookup、vlookup、indexmatch 多条件查找案例
2021-01-20 17:30:39下面通过一个实例跟大家分享一下常用的3种excel多条件查找函数。 下表是某电商公司的客户投诉表,现在需要通过A表中的客户姓名与地区两个条件来查询B表中的产品型号,返回到A表的E列中。 下面是三种excel双条件...