精华内容
下载资源
问答
  • 2019-10-01 14:05:18

    一条语句返回多个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混合,可坑导致选出的结果不准确

    转载于:https://www.cnblogs.com/Spacecup/p/3572890.html

    更多相关内容
  • 查询结果存在为空给与一个默认值 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','半个月','一个月)

     

    展开全文
  • VLOOKUP函数只能返回一个结果,如果想要一对多查询,可以使用其他函数,看下边例子,将部门为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

    展开全文
  • 查询条件不同,返回多个结果整合在查询的时候,有时候常常须要用到子查询,好比查询今天的订单数量, 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);

    展开全文
  • 场景: 有时候后端给我们的数据 我们不能直接使用展示,这时我们...简单的过滤我们可以直接写if else if去替换,但是往往我们都需要请求接口对应字典表去查找????. --------------------------------------------..
  • 【存储过程】-子查询返回多于一个

    千次阅读 热门讨论 2018-03-20 12:03:27
    小编最近的项目在测试阶段,跟存储过程打的火热,调用存储过程的时候遇到一个问题:子查询返回多于一个,这次记录下来跟大家分享一下。 问题 &nbsp;&nbsp;&nbsp;&nbsp;异常错误描述: &...
  • case when then 后返回多个值

    万次阅读 2018-09-27 17:35:31
    背景:查询数据,需要根据不同性别选择不同的排序字段和排序规则,总体先按照性别排列,“女”排在“男”前,然后性别为“男”按照last_name,height,family_name,age进行升序排列,性别为“女”按照family_name,...
  • oracle根据条件不同返回不同的

    千次阅读 2018-06-08 10:16:06
    decode函数(如果条件=‘等于条件1’,则返回‘返回值1’) decode(条件,‘等于条件1’‘返回值1’,‘等于条件2’‘返回值2’,‘等于条件3’‘返回值3’,)...
  • =offset(A1,match(c2,b2:b2032,0),0) 参考 ...
  • Excel求同时满足多条件的最大求法

    千次阅读 2021-10-17 16:32:39
    【解法2】来自群里梁老师,该方法将if的两个条件判断作积,同时乘积才为真,而后返回C:C数据。 注意:输入公式后,需要按键盘上的ctrl+shift+enter键才是以数组的方式来处理,出现公式中的{}符号。 ...
  • 1. 利用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的引入,这个...在本文里,我想提供我们今天所拥有的从函数返回多的某些选择的一个概况,
  • 查询,查询表中某字段相同的数据
  • mysql 查询中 根据一个表中一个字段的最大求另一个字段,获取 查询最大的这条数据。 示例 表a: id name 1 张三 2 李四 表b: id sex a_id 1 女 1 2 男 2 表c: id a_id age ...
  • 注意:查找一个 查找全部 注意:查找查找全部 替换功能 筛选功能 2 查找数据可使用公式 2.1 先看单条件查询,可能出现的结果 (提前考虑你的函数要返回什么样的结果,会报错么?) 单一条件查询...
  • 一个语句的查询字段结果作为另一个语句的查询字段并返回查询 SELECT PJ_JFSf FROM tg_zb_zbkzb WHERE zbuuid=v_zbuuid) --case when sum(fm) &gt; 0 then sum(fz)/sum(fm) ELSE 0 end create or ...
  • Mysql带And关键字的多条件查询语句

    千次阅读 2021-01-19 02:07:40
    MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两或者多个查询条件,只有满足所有条件的记录,才会被返回。SELECT * | {字段名1,字段名2,……}FROM 表名WHERE 条件表达式1 AND 条件表达式2 ...
  • 以下图表格为例,在介绍多条件查询方法之前,先来了解下VLOOKUP函数的基础用法,用句话介绍就是,VLOOKUP函数是在垂直方向上向右查找。 各种教程中,VLOOKUP函数的语法结构都是英文,不太好理解,用...
  • 在Excel中根据条件查找匹配多个值

    万次阅读 2013-12-05 14:54:56
    在Excel中根据条件查找匹配(vlookup只能匹配第一个值)之前在深圳的时候就被问过这个问题,今天又遇到同事在问,索性记录在此。如下图,根据E列的,在A列中查找对应的数据,输出匹配行上B列的,依次填入到F...
  • 查询的时候,有时候经常需要用到子查询,比如查询今天的订单数量, 7天的订单数量,31天的订单数量, 这种条件不一样,但是非要整在一个表中来显示就需要很查询来实现了: select(select xx from xx where 条件一) ...
  • 再不用宏和用不了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时经常会碰到一个表里的同一款产品每天的销量都不一样,然后我们需要查导出每一款产品每天的销量,即一对多条件查找。这个教复杂,我们要用到好几个函数的综合,下面小编来教你吧。 工具/原料...
  • coalesce(var1, var2, var3, …),从左到右返回一个不为NULL的。 select coalesce(null,null,"你","好","明","天") filed; 返回: 你
  • 展开全部工具2113/材料:Management Studio。...2、之4102后在该界1653面...3、接着在该界面中,输入根据一个字段不同值查询不同表中的一个字段的sql语句:SELECT b.BonusPenaltyMoney FROM mySGProject a join mySGBon...
  • 点击查看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:40
    1.条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中引用一个表的查询结果作为条件查询一个表称为sql嵌套查询。简单子查询示例:Copyselect name,age from personwhere age >( select age from personwhere name = '孙权62616964757a686964616fe4b...
  • 查找一组数据中的最大返回

    千次阅读 2019-01-23 17:45:36
    // 查找一组数据中的最大返回 template &lt;typename T&gt; T frmDataCurve::max(QVector&lt;T&gt; _dataVec) { T max = _dataVec.at(0); for(int i = 1; i &lt; _dataVec.count(); i++) ...
  • 下面通过一个实例跟大家分享一下常用的3种excel多条件查找函数。 下表是某电商公司的客户投诉表,现在需要通过A表中的客户姓名与地区两个条件来查询B表中的产品型号,返回到A表的E列中。 下面是三种excel双条件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 721,964
精华内容 288,785
关键字:

多条件查找返回一个值