精华内容
下载资源
问答
  • 一条语句返回多个countselect (select count(*) from award) as c1,(select count(*) from award where RYLB='先进基层组织') as c2sql多条件查询的一种简单方法select * from table where (addDate = @addDate or...

    一条语句返回多个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

    展开全文
  • VLOOKUP是EXCEL最核心的几个函数一,但是大多数人对其只知道一点皮毛。具体要怎样用好vlookup,可并不是一个容易的事情。...1.基础单条件查询 这是VLOOKUP函数最基本的功能,可以通过函数匹配特定的数据。 举例...

       VLOOKUP是EXCEL最核心的几个函数之一,但是大多数人对其只知道一点皮毛。具体要怎样用好vlookup,可并不是一个容易的事情。这里我总结了几种常见的使用VLOOKUP的情况:

         首先明确一下VLOOKUP的基本语法:

              

                

    1.基础单条件查询

         这是VLOOKUP函数最基本的功能,可以通过函数匹配特定的数据。

    举例:

    如下图,要在A、B、C三列中找出E列中的姓名所对应的电话,就可以用“VLOOKUP"的单条件查询功能,

    函数为:=VLOOKUP(E1,A$2:C$20,2,FALSE)

    注意:i.一般要加上绝对引用,保证结果的正确;

               ii.有条件的情况采用精确匹配,否则容易误识别;

     iii.模糊匹配与精确匹配除了用”true/false”外,还可以用“1/0”表示 ,"1"表示模糊匹配,”0“表示精确匹配

    iv.要查找的值必须在查找范围的第一列

    2.反向查找

          因为要查找的值必须在查找范围的第一列,所以当查找的值在第二列时,就不能直接查找。比如在上一个例子中,如果已知的是电话,要查找该电话对应的姓名,就不能用基础单条件查找。此时相当于已知查找范围的第二列的数据,求第一列中的数据,这种情况就要用到反向查找的方法。

    实例说明:

    反向查找函数的基本框架:=VLOOKUP(原本存在的母值IF({1,0},从哪个区域检索母值,从哪个区域返回目标数据),2,0)

    在上面这个实例中就是: =VLOOKUP(F2,IF({1,0},B2:B20,A2:A20),2,0)

    母值就是原本存在的电话,而目标数据就是姓名。这个函数的目的就是从数据表中找出特定电话对应的人物.

    其逻辑就是以“F2:F9”的数据为依据(母值),查找B2:B20中母值所在的位置,然后在找出A2:A20中的对应姓名。

    3.多条件查询

          当通过多个条件查询某一列目标数据时,需要用到多条件查询的方法。

    实例说明:

    多条件查询函数的基本结构:=VLOOKUP(混合条件,IF({1,0},混合检索区域,目标区域),2,0)

    在上面这个例子中,函数为:=VLOOKUP(E2&F2,IF({1,0},A$2:A$20&B$2:B$20,C$2:C$20),2,0)

    和实例2其实是类似的,只不过把母值由一个增加为两个,中间用“&”符连接起来,同时检索母值的区域也多增了一个,同样用“&”符连接起来。参考实例2中的例子,很快就能明白。

    注意:i 需要按CTRL+SHIFT+ENTER来执行函数,不能简单地用ENTER,否则会出错;

              ii.在选定区域时需要加上绝对引用

    4.查询返回多列

          有时候需要返回多列作为结果,而不止一列,这时就需要用到能够返回多列的方法。

    实例:

    函数基本结构:=VLOOKUP(原本存在的母值,需要检索的区域,COLUMN(**),0)

    其中,COLUMN(**)表示从哪一列开始返回目标数据。比如在这个例子中,要返回的数据是”电话“,电话从B列第2个数据开始返回,那么COLUMN函数就是COLUMN(B2)

    将这个函数往右就能得到新的一列的目标数据了。在这个例子中,将函数往右拉,COLUMN(B2)就自动转换为COLUMN(C2),从而便自动获取了”籍贯“这一列的数据。

    注意:为了保证往右或往下拉时,母值和检索区域不变,需要加上绝对引用。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 其实我本来对EXCEL是一窍不通的,直到我舅舅给了一串大概1500多行的药品供应目录让帮他我查找。当他告诉他们平时都是花1~2天人工填写查找的时候,我当时就惊呆了,心想EXCEL设计者肯定已经哭晕在厕所,大家竟然都...

        其实我本来对EXCEL是一窍不通的,直到我舅舅给了一串大概1500多行的药品供应目录让帮他我查找。当他告诉他们平时都是花1~2天人工填写查找的时候,我当时就惊呆了,心想EXCEL设计者肯定已经哭晕在厕所,大家竟然都不用便捷的公式来完成,于是乎我就开始上手了。  



       首先应该明确需求,拥有一个包含药品名称、规格、供应商、价格的数据库A,表A如下。从表A中我们可以发现,同一药品,同一规格具有多个供应商,所以这一定是一个多结果查找。

        
       需要根据医院需求的药品清单,补全一下清单表格B,表B如下。从表B中我们可以发现,B列所代表的通用名并不是该行数据的KEY,KEY是序列号,B列、C列、D列只不过是查找条件之一而已,需要根绝名称、剂型、规格等多个条件来查找企业信息、报价信息等。所以这是一个多条件查找过程。


       
        以上我们明确了本次任务是完成多条件多结果查找,首先应该建立一新的工作环境(Work Space),简单的说就是新建一个EXCEL文件,并把两张表导入Sheet1、Sheet2分页中去,这样方便引用,是个良好的习惯。导入方法如下,右击左下角的Sheet1分页,选择移动或复制
    查找
        为了解决问题,我们先从简单的方面入手,多条件多结果查找首先需要完成查找的基本功能,查找所用的函数一般是VLOOKUP,意思是在一列(vertical)中找到(Look up)符合条件的第一个值并返回,语法规格为
                            =VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
    譬如 =VLOOKUP($O4,Sheet3!$H:$I,2,0),其中$O4表示查找内容是O4单元框的内容,查找范围是 Sheet3!$H:$I,即表二的H到I列,2表示查找到相应行之后,返回O列右边第二列的内容,0是查找类型。符号$表示固定,因为随着公式下拉,数字4会依次增加,变为O4,O5,O5,而随着右拉列号会依次增加,变为O4,P4等,符号$的左右就保证右拉时列号O不会改变。
    多条件查找 
        当查找结果为多个时,我们首先的想法可能是按照C语言,使用&符号,当然,可是肯定行不通的。正统方法是利用数组,这种方法先不理它...
        另一种方法更直接一些,建立一个辅助列,将多条件化为单条件,设需要满足的条件是E3、F3,我们只需要建立辅助列,令他的值为=E3&F3,满足该辅助列的单一条件就能实现满足多条件的需求。如下图所示例如H列,令H2=A2&C2,建立辅助列,对H列查找就能满足多条件查找的需求。


    多结果查找
          但是适用VLOOKUP函数只能返回第一个结果,不符合多结果查找的要求。为了解决多结果查找,我们需要适用 INDEX   SMALL  IF 组合函数。通过IF条件语句,遍历找到所有符合条件的行,并返回该行的序号
                           =IF(Sheet2!$E2:$E1335=Sheet1!$F3,ROW(Sheet2!$E2:$E1335),4^8)
        其中Sheet2:$E2:$E1335=Sheet1!$F3是判断条件,在表二的E列中,找到等于表一中F3单元格内容的行,返回行号 ROW(Sheet2!$E2:$E1335),否则返回4^8=65535数值。找到所有符合条件的结果后,将他们排序,并按照行输出(右拉)
      =INDEX(Sheet2!$G:$G,SMALL(IF(Sheet2!$E2:$E1335=Sheet1!$F3,ROW(Sheet2!$E2:$E1335),4^8),COLUMN(A1)))&""
         其中SMALL仅仅对所有结果从小到大排序,而INDEX则将结果一一输出,按列输出COLUMN,按行输出则是ROW。先做个小实验,如下图。在A列中查找C1=1的值,D1输入公式=INDEX($B:$B,SMALL(IF($A$1:$A$1000=$C1,ROW($1:$1000),4^8),COLUMN(A1)))&"",输入后按下CRTL+ENTER(使结果为数组),再右拉可以得到结果。

          将这种方法运用到药品企业价格查找的实例中去,如下图所示,这里只右拉了3格,最多显示了3家企业,O列为条件查找辅助列,P~R为相应的企业,S~V为相应的价格。至此我们完成了多条件和多结果的查找。收尾工作需要把辅助列删除,并且把得到的结果赋值-选择性粘贴-数值,以防移动后出现没有reference的情况。


    多行多列变一列
         开开心心地把这个表格交给我舅舅,准备听几句夸奖的话,结果他说不行啊,这不同企业和价格必须在一列显示啊,这样才方便比对价格作出选择。于是我就愁了,要怎么才能把这种多行多列的数据变为一列呢?解决办法当然是有的。使用OFFSET函数
    =OFFSET(($U$3),INT((ROW(A1)-1)/4),MOD(ROW(A1)-1,4))
           其中4代表了多行多列中的列个数,我最后每种药品最多列出4家供应商,对于使用者请按自己情况改变该数字,$U$3是多行多列的最左上角数值。运用到我们得实例中去,其中I~L是多行多列矩阵,在F3中输入公式并下拉,得到一列。


        
    每行增加行
           因为一种药品对应了4家供应商,所以每种药品必须占4行,才能和上诉的一列正确对应上,这时我们需要使原有的每行间隔三行。这种苦力活当然不可能一个个增加,必须是批量操作的。
           这种方法可以按照下图的辅助列排序方法,最后一步用的是快捷键排序,没显示出来,这种方法适合每行空多行。


    或者是

         我用的方法是如下建立辅助列,定位空值后插入行,当然还是前两种比较好。



    最后应用到实例中,得到结果

          把之前多行多列变一列得到的4个为一组的单列复制到后面一行,就能得到最终的结果

    删除空白行
         许多没有供给公司和药品序号的行就是完全的空白行,这些影响观看,需要删除,建立辅助列,判断A和F同时为空时,赋值#N/A,CRTL+F替换#N/A为空值,F5定位空值,删除空值,可以达到要求,最终结果如下



    展开全文
  • 查询: 子查询简单来理解就是用查询的结果在内存中构建一个数据表,而我们可以使用普通sql语句来操控这...返回的这个名称即在内存中构建了一个单行单列的数据的表,‘ENAME’是名称,'BLACK'是单行单列的,我们可
    子查询:
    
    子查询简单来理解就是用查询的结果在内存中构建一个数据表,而我们可以使用普通sql语句来操控这个内存中的数据表,这个数据表就叫做子查询。

    一、返回单行单列数据的子查询。

    select ename from myemp;
    返回结果:
    ENAME

    BLAKE

    返回的这个名称即在内存中构建了一个单行单列的数据的表,‘ENAME’是列名称,'BLACK'是单行单列的值,我们可以使用普通的查询语句对其进行查询,如:
    select * from (select ename from myemp where empno=7698);

    返回结果,仍是:
    ENAME

    BLAKE

    在实际应用中,如果要查看表中和某列的数据相同的所有数据就可以利用返回单行单列的子查询进行实现,如查询所有和empno为7698工资相同的所有人员信息:
    select * from myemp where sal=(select sal from myemp where empno=7698);

    返回结果:
    7698 BLAKE MANAGER 7839 01-5月 -81 2850 (null) 30

    二、返回单行多列的子查询

    select empno,ename,sal from myemp where empno=7369;
    返回结果:
    EMPNO ENAME SAL

    7369 SMITH 5600


    返回结果在内存中构成一个单行多列的数据表,返回单行多列的子查询在实际应用中与返回单行单列的数据类似,只是查询条件可以扩展成多个,用括号把查询条件括起来:
    例如:查询sal和comm和empno为7698相同的人员的信息:
    select * from myemp where (sal,comm)=(select sal,comm from myemp where empno=7698);
    展开全文
  • 如何求满足条件的行及(支持合并单元格)---Excel 多条件行、条件列对应的公式 地址:http://www.excelfb.com/ 点击:Excel自动写公式工具(根据汉字描述写公式,支持合并单元格公式) 点击:汇总满足...
  • 需求如下:现要根据C的编号,在A中找到相等的,并返回与A编号对应的B,写到D中。 =vlookup(参数1,参数2,参数3,参数4) 参数说明如下: 参数1:要查找。 参数2:查找范围。(注意:查找...
  • EXCEL如何进行多条件的数据查找返回

    千次阅读 2018-03-22 09:03:00
    在使用EXCEL时经常会碰到一个表里的同一款产品每天的销量都不一样,然后我们需要查导出每一款产品每天的销量,即一对多条件查找。这个教复杂,我们要用到好几个函数的综合,下面小编来教你吧。 工具/原料...
  • 在Excel中根据条件查找匹配

    千次阅读 2013-12-05 14:54:56
    在Excel中根据条件查找匹配(vlookup只能匹配第一个)之前在深圳的时候就被问过这个问题,今天又遇到同事在问,索性记录在此。如下图,根据E,在A中查找对应的数据,输出匹配行上B,依次填入到F...
  • 工作表的一个区域中有很多值,我们很容易用min或者max函数找出这个区域的最小值或者最大,但是,要确定这个的位置就比较难了,因为match函数或者vlookup(或者hlookup)函数都是对单行或者单列进行操作的。...
  • 转载自: VLOOKUP函数多条件... 各种教程中,VLOOKUP函数的语法结构都是英文,不太好理解,用大白话说就是=VLOOKUP(查找什么,在哪查找,从条件所在算起找到后返回对应的第几列数据,精确或模糊查找)。 ...
  • 项目实战Spark-Sql的UDF功能实际运用、Spark-Sql中使用if返回多条件查询结果、Mysql中case-when多条件查询 1、Spark-Sql的UDF功能实际运用 通过spark.udf.register("udfName", func) 来进行注册 使用...
  • 其实这位学员的问题就是excel的多条件查找问题。 下面通过一个实例跟大家分享一下常用的3种excel多条件查找函数。 下表是某电商公司的客户投诉表,现在需要通过A表中的客户姓名与地区两个条件来查询B表中的...
  • SpringDataJpa -- 多条件查询

    千次阅读 2018-03-31 17:58:44
    前言:使用SpringDataJpa 进行多条件查询。 一、单表的多条件查询 @Override public Page<Courier> pageQuery(Courier model, Pageable pageable) { //封装查询对象Specification Specification...
  • case when then 后返回多

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

    千次阅读 2018-11-23 18:04:43
    mongodb查询语句简单,仅用下面一句话就可以进行最基本的查找了: ...但是一般我们不用这样的语句进行查询,因为这样查找出的数据有太我们不需要的信息。 在关系型数据库中,一般我们会写这样的语句进行查询: ...
  • Excel 如何用公式求满足条件的行的指定,使用这个工具,根据汉字描述自动生成需要的公式。本工具支持合并单元格 地址:http://www.excelfb.com/ 点击:Excel自动写公式工具(根据汉字描述写公式,支持...
  • Hbase 行键设计(rowkey) 实现多条件查询

    万次阅读 热门讨论 2018-02-08 10:42:51
    2018最新编辑 本文写完的时间是2017年初写的,当时对HBASE的理解不深,随着一年的学习...HBASE适合那种使用key-value模式的快速查询字段查询还是不适合它。 所以大家如果看本文的话,就全当是加深对hbase过...
  •  但是,VLOOKUP函数一般情况下,只能实现单条件查找。  如果想通过VLOOKUP函数来实现双条件或条件的查找并返回值,那么,只需要加上IF({1,0}就可以实现。  下面,我们就一起来看看IF({1,0}VLOOKUP函数的...
  • 组合查询多条件组合查询,在很场景下都有使用。购物网站中通过勾选类别、价格、销售量范围等属性来对所有的商品进行筛选,筛选出满足客户需要的商品,这是一种典型的组合查询。在小数据量的情况下,后台通过简单...
  •  但是,VLOOKUP函数一般情况下,只能实现单条件查找。  如果想通过VLOOKUP函数来实现双条件或条件的查找并返回值,那么,只需要加上IF({1,0}就可以实现。  下面,我们就一起来看看IF({1,0}VLOOKUP函数的...
  • 1、背景:查询数据库表数据,根据指定条件筛选出满足条件... 3.1、在指定字段上使用Max(),产生问题-造成查询的数据错乱,返回的信息只有fversion列值满足条件,fid并不是MAX(fversion)的记录对应的fid  3...
  • 如果想通过VLOOKUP函数来实现双条件查找条件的查找并返回值,那么,只需要加上IF({1,0}就可以实现。 下面,就一起来看看IF({1,0}VLOOKUP函数的经典结合使用例子吧。 要实现的功能是,根据Shee
  • 问题描述:  有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)FileVer(文件版本号)。... 要求查询出FileName字段重复时,FileVer最大的所有数据。 SQL语句如下: 1 SEL...
  • Django ORM 查询表中某字段

    千次阅读 2020-04-29 20:21:50
    有一个表中的某一,你需要获取到这一的所有,你怎么操作? 解决办法: 有一个model为:Event 方式一: 获取内容: Event.objects.values('title') 输出内容: <QuerySet [{'title': '...
  • 联合索引优化多条件查询

    万次阅读 2016-07-19 00:39:31
    现在数据表myIndex中i_testID是主键,其他无任何索引:多条件查找名字为xiaoming,城市为beijing,年龄为21的人:返回了一行数据,从执行计划中看到,查询没有使用任何索引,进行了全表扫描,磁盘IO大
  • excel中vlookup函数为精准匹配查找,但此函数局限于单列的精准匹配,如果需求是多列条件进行匹配,怎么通过vlookup函数实现呢? 思路:通过if函数将多列拼成一列再通过vlookup函数进行精准匹配 具体公式为=VLOOKUP($...
  • 使用Java Stream,提取集合中的某一/按条件过滤集合/求和/最大/最小值/平均
  • 联合索引:优化多条件查询

    千次阅读 2018-07-04 11:52:57
    现在数据表myIndex中i_testID是主键,其他无任何索引:多条件查找名字为xiaoming,城市为beijing,年龄为21的人:返回了一行数据,从执行计划中看到,查询没有使用任何索引,进行了全表扫描,磁盘IO...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 285,233
精华内容 114,093
关键字:

多条件查找返回多列值之和