条件查找结果整行在分表显示的公式方法?

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

《用index和match函数实现大量数据的查询》由会员分享,可在线阅读,更多相关《用index和match函数实现大量数据的查询(3页珍藏版)》请在人人文库网上搜索。

用 index 和 match 函数实现大量数据的查询 工作中 我们在表格里查询一个或几个数据 可以用 查找 替换 来实现 如果有大量数据 需要我们查询并输出相关资料 逐个查询将浪费大量时间和精力 利用 EXCEL 自带的 index 和 match 函数组合可以轻松完成任务 举例 现在有某单位组织的会员活动的邀请人员名单 如图 1 总表里是本次活动邀请的人员资料共 10000 条 如图 1 分表里是已经确认参会的人员名 单是其中的 8000 个 不连续 如图 2 但是分表里只有确认参会人员名单 而没有相关资 料 例如工作单位 电话等字段 现在要将分表里的人员资料进行补充 用 CTRL F 当然可以逐个查找 但是 8000 个足以令人晕倒 其实 利用 index 和 match 函数 可以方便完成这个任务 我们图 3 工作簿的分表中 C3 column num 分别表示数组中的行序号 和列序号 具体到本例中 array 表示总表中可供查找的数据区域 就是需要从中查找相应 数据单元格范围 Row num 是指所要返回的数据在数组中的行序号号 column num 是指 所要返回的数据所在单元格的列号 本例中的 Array 就是 总表 A H 列号 column num 即是 工作单位 在数组中的列序号 7 行序号

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

终于被产品的各种刁钻不合常理的需求磨炼出用laravel写出较为优雅的代码,在这里给大家分享一下。

先简单介绍一下基本环境,我们是做一款直播APP的,人很多,所以每个接口都必须尽量优化(主要是SQL的查询)。

有一天,产品跟我们说,那个针对主播的送礼牌行榜能否显示30天内的用户送礼数倒序排列,显示用户是否VIP,用户对主播的亲密度,还有用户的等级。

30天内的数据。也就是说之前那张一直累计数值的排行表不能使用了,而且这个30天是个动态的,也就是说这个数据必须只能利用送礼流水group by出来。我们的送礼流水表是1个月1张表的

用户资料表user_ext(你大爷的头像竟然放这张表,谁搞的站出来,看我不弄死你)
(这几张表的关联是无法避免的,加上分页count查询。SQL最优就只能是查询表的数量+1才算是比较合理,laravel完全有足够的能力写出优雅的代码)

很多人可能会想到laravel的DB原生查询了么。但是Eloquent有强大的关联,访问器修改,查询范围等等这些功能让你的代码非常简洁。

//这里用到了laravel的查询范围,可以快速调用判断是否VIP,不用每次都写一次where

5.好了,重点来了。honey_log表,这个是重点,因为它是分表的,现在我们要封装一个union表的方法,让这个model自动把涉及的分表作为一张表赋予model查询

/*传入查询的开始日期和结束日期用于计算跨越的表和达到约束表数据的目的。 外部可以调整查询的列,还可以添加where条件*/ //循环开始日期和结束日期计算跨越的表 //会得到每一个表的子查询,因为都有约束条件,所以每一个子查询得结果集都不会很多 //核心是看你输入的开始日期和结束日期和约束条件,组装成一个union all的子查询然后作为table赋予model //关联用户资料表,要拿头像 //关联用户表,要拿昵称 //关联用户对于主播的亲民值 //转化送礼等级,按送礼金额转化

以上准备工作都有了。相信熟悉laravel的人已经知道怎么查询了,可以达到最优化的SQL,和最优雅的laravel写法。
好。我们来看看控制器如何查询

// 缓存数据,按查询的主播,页数作为key分页 // 实例化honeyLog模型,因为自定义的setUnionAllTable方法是非静态方法,如果谁知道如何在model定义非静态方法但是可以通过静态调用的话,请告诉我,因为不想改底层,laravel是用了魔法静态方法实例化调用的,所以我们才可以使用model::select()->where()->get()这样的链式调用,但是在model自己定义的实体方法好像并没有继承到这种调用 // 很多人可能会问为什么不用with()渴求式加载,因为用了with的话,model会默认去构造一次实例,导致table属性丢失,你们试试就知道了,所以下面我们终于理解到laravel为什么会还有个懒惰渴求式加载了,简直绝配 // 懒惰渴求式加载头像,vip,亲密值,昵称 // 好好理解下面的关联约束 // 这里需要传入主播ID,只查找用户对于这个主播的亲密值 // 现在需要的数据都已经全部查出来了,由于我做的是API,现在要组装前端需要的格式return出去就可以了, // 如果是自己做的web网页,就直接丢给视图遍历就可以了 // 这是前端要求的格式,要这样组装没有什么特别要说的,只是前端习惯这样的结构

我要回帖

更多关于 同时满足多个条件查找 的文章

 

随机推荐