精华内容
下载资源
问答
  • 需要用group by的having子句。 1、如test表有如下数据: 2、现要查出dept出现2次以上的dept。可用如下语句: 1 select dept from test group by dept having count(*) >2; ...

    需要用group by中的having子句。

    1、如test表中有如下数据:

    2、现要查出dept出现2次以上的dept。可用如下语句:

    1

    select dept from test group by dept having count(*) >2;

    3、查询结果:

    转载:https://zhidao.baidu.com/question/1883519508681617748.html

    展开全文
  • SELECT * FROM table GROUP BYcolumn HAVING COUNT(column)>=3 ORDER BYcolumn DESC LIMIT 0,3; 转载于:https://www.cnblogs.com/ai594ai/p/8854736.html

    SELECT * FROM table  GROUP BY column HAVING COUNT(column)>=3 ORDER BY column DESC LIMIT 0,3;

    转载于:https://www.cnblogs.com/ai594ai/p/8854736.html

    展开全文
  • 、代码 select replace(HrDepartmentC,' ','') as HrDepartmentC from levelTable where (charindex(ltrim(str(levelId)),(select replace(levelId,' ','') as levelId from RegTable where HrId =01000)) >0) ...

    一、代码

    select replace(HrDepartmentC,' ','') as HrDepartmentC from levelTable where  (charindex(ltrim(str(levelId)),(select replace(levelId,' ','') as levelId  from RegTable where HrId =01000)) >0)
    

    二、语法
    A表:levelTable
    数值字段:levelTable.levelId
    B表:RegTable
    字符串字段:RegTable .levelId

    使用charindex函数 :找到字符(char)的位置(index)

    基本语法如下:

    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

      expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。
    

    expressionToSearch :用于被查找的字符串。

      start_location:开始查找的位置,为空时默认从第一位开始查找。
    

    三、分析

    1. replace(levelId,’ ‘,’’) 去掉字符串中的空格
    2. ltrim(str(levelId))。去掉字符串左侧空格,rtrim去掉右侧空格
    3. 因为一开始levelId是数值类型的所以需要类型转换,str()

    补充

    CHAEINDEX示例

    1.简单用法

    select charindex(‘test’,‘this Test is Test’)

    查询结果:

    2.增加开始位置

    select charindex(‘test’,‘this Test is Test’,7)

    查询结果:

    3.大小写敏感

    select charindex(‘test’,'this Test is Test’COLLATE Latin1_General_CS_AS)

    查询结果:

    返回结果为0???,不要怀疑你的眼睛,因为大小写敏感,找不到test所以返回的就是0,默认情况下, SQL SERVER是大小不敏感的,所以我们简单示例中返回结果不为0,但是有些时候我们需要特意去区分大小写,因此专门SQL SERVE提供了特殊的关键字用于查询时区分大小写,其中CS为Case-Sensitve的缩写。

    4.大小写不敏感

    select charindex(‘Test’,'this Test is Test’COLLATE Latin1_General_CI_AS)

    查询结果:

    我们也可以这样说明是大小写不敏感,其中CI是Case-InSensitve的缩写,即大小写不敏感,当然我们没必要多此一举。

    PATINDEX

    和CHARINDEX类似,PATINDEX也可以用来判断一个字符串中是否包含另一个字符串,两种的差异在于,前者是全匹配,后者支持模糊匹配。

    1.简单示例

    select PATINDEX(’%ter%’,‘interesting data’)

    查询结果:

    2.简单示例2

    select PATINDEX(’%t_ng%’,‘interesting data’)

    查询结果:

    PATINDEX也允许支持大小写敏感,做法和CHARINDEX一样,此处不再累述。

    参考:

    https://docs.microsoft.com/en-us/sql/t-sql/functions/charindex-transact-sql

    https://docs.microsoft.com/en-us/sql/t-sql/functions/patindex-transact-sql

    展开全文
  • 当他告诉他们平时都是花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定位空值,删除空值,可以达到要求,最终结果如下



    展开全文
  • EXCEL:获取某或得最后一个非空单元格的行数和数值 、A列中最后一个非空单元格是 Sub LastRow() Dim rng As Range Set rng = Sheet1.Range("A65536").End(xlUp) MsgBox "A列中最后一个非空...
  • Excel根据条件查找匹配多个

    千次阅读 2013-12-05 14:54:56
    Excel根据条件查找匹配多个值(vlookup只能匹配第个值)之前深圳的时候就被问过这个问题,今天又遇到同事问,索性记录此。如下图,根据E的值,A列中查找对应的数据,输出匹配行上B的值,依次填入到F...
  • Oracle中查找一列有相同值的数据

    千次阅读 2019-06-17 20:15:39
    应用场景:比如初始化数据时,手动insert数据,ID使用sys_guid()自动生成,不小心插入了相同的条数据,但是这两条数据的id却不一样,但是我们只需要条数据,这时需要查找出是那几条数据相同,需要寻找记录有...
  • pandas的切片方法 [],loc,iloc,at,iat,ix 基础数据 import pandas as pd import random random.seed(0) rnd_1 = [random.randrange(1,20) for x in range(10)] rnd_2 = [random.randrange(1,20) for x in range(10...
  • 职场,我们经常需要从Excel表格找到我们需要的信息。比如,从份电商数据表的品牌列中找到含有知名品牌的商品,而知名品牌包含不止一个品牌。再比如下面的招聘数据,想从众多职位查找名称...
  • 工作表的一个区域有很值,我们很容易用min或者max函数找出这区域的最小值或者最大值,但是,要确定这值的位置就比较难了,因为match函数或者vlookup(或者hlookup)函数都是对单行或者单列进行操作的。...
  • 数据库查询是java开发人员必备的技能,当然也是java面试题必考的,面试时见到这个一个数据库查询,心中依然存有   疑问,写出来供大家讨论。   数据表DataTable DataTable DataId DataName Data...
  • SQL,当需要从多个,取第个非空值作为结果时,需要使用coalesce函数。 用法如下。 select coalesce(column1, column2, column3) as column_result
  • 这是你第次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,...
  • --SQL2008查找某数据库是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型:1为文字类型、2为数值类型 @str nvarchar(100)--需要搜索的名字 ) as --创建临时表存放结果 create table #...
  • 数据库CLARK,KING数据表的ENAME,MANAGER和CLERK位于数据表的JOB 解决方案: 查找和使用DBMS提供的内置函数,来连接;来自不同的值 DB2,Oracle,PostgreSQL ...
  • 本章主要内容:Sumif函数语法,Sumif函数计算数值区间,Sumif函数超过15位字符时的错误,关于第三参数简写时的注意事项,在多列中使用Sumif函数,使用辅助处理条件的Sumif,可替代vlookup
  • EXCEL 根据某几列确定其他列数值

    千次阅读 2018-11-16 20:20:12
    1.Excel,根据三列数值确定某一列数值: 现在有Sheet1:A,B,C,D三列 而Sheet2:A:B,C,D ABC分别一一对应,是一样的内容,只不过A,B对应sheet1的数值是混乱的,所以D得自动填充进去 解决方法,D2填入...
  • 本工具可以按个关键字、多个关键字或汉字描述的条件进行查找,展示出整行信息,支持提取本行、上几行、下几行的信息到新的Excel文件 工具地址:www.excelfb.com 、提取符合条件的行 工具位置如下: ...
  • Oracle数值处理相关函数介绍

    千次阅读 2016-07-09 23:18:07
    单值:只是一个数值,如常数值、PL/SqL等的变量。数据库的一列和一行的一个数字等。Oracle的单值函数通常通过计算来更改这些值。 值组:一系列数据行的某一列的所有数值数据。Oracle值组函数提供的是整个组的...
  • 查找最接近的元素(分治法/二分查找):在一个非降序列查找与给定值最接近的元素。 [输入] 第行包含一个整数n,为非降序列长度。 第二行包含n整数,为非降序列各元素。 第三行包含一个整数m,为要询问的...
  • 命题也是很多人都会遇到的,经常要进行数据形式的转换,这里我们介绍几种最常见而又较为简单的方式和方法。...先说一下思路,就是一列数据的最底下,输入=B1 (也就是旁边列的第一单元格),然后
  • 现在有一个问题是要从,表:公司36396查出“用户名称”与“用户编号”拷贝到,表:Sheet1。 有2表数据,如下: 表:sheet1 表号 用户编号 用户名     #N/A ...
  • LabVIEW多列列表框背景颜色操作

    千次阅读 2017-08-07 17:27:09
    列列表框概述情况下我们需要表格一列查找一些指定的元素,并且想让其显示为指定的颜色,此时就可以利用列列表框的一些属性来解决这一问题。
  • 2、应尽量避免 where 子句对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以num上设置默认值0,确保表num没有null值,然后这样查询: ...
  • 如何Excel判断某个单元格的值...如果存在,C列显示空,如果不存在,则将abc显示C列 C列使用公式:=IF((COUNTIF(B:B,A2)=1),"",A2) 此公式对两列不同的值,找出一列一列中不相等的值,很有用途!
  • 选中 A 数据有效性验证(高本的的数据选项卡的 数据验证) 自定义…… 输入 =A1<>B1 其他的提示信息什么的 你自己根据需要填写…… 选中B ……输入 =B1<>A1…… 两次 设置 数据...
  • 在一个千万级的数据库查寻,如何提高查询效率? (1)、数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑 where 及 order by 涉及的上建立索引。 b. 应尽量避免 where 子句...
  • VLOOKUP函数查找工作表的重复数据 第次用到这函数还是好几年以前,有学生家长问我,如果两工作表里有部分重复的数据,怎么才能找出来?当然这两工作表的数据都很,所以人工检索的话工作量...
  • 1、找出指定文件夹里的所有文件 #-*- encoding: utf-8 -*- # 找出指定文件夹里的所有文件 import os filePath = 'C:\\Users\\lzk\\Desktop\\H_totall_data\\data\\' ...2、读取指定文件夹里多个ex...
  • Excel 多条件 比对 查询 多个 重复值

    千次阅读 2019-12-03 20:52:49
    说明:多条件比对查找多个值,且可查找重复值(支持最多4个条件比对,同时查找3个值) 重复值得查找,可以将查到的所有重复值,依次填写sheet1的重复的项目,sheet1重复项数多于sheet2的部分会空出来,避免了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 123,409
精华内容 49,363
关键字:

如何在一列中查找多个数值