`
datamachine
  • 浏览: 163486 次
社区版块
存档分类
最新评论

简化SQL计算之实现优先随机更新

    博客分类:
  • DB
阅读更多

问题来源:

https://www.linkedin.com/groups/update-records-based-on-rank-1890173.S.5914444354742661123?trk=groups_items_see_more-0-b-ttl

目标:随机更新表TMP_SURVEY_TRAN_BZ_3_WORKING中符合条件的20条记录,将Quota_Include_Ind字段更新为“Y”。更新时有优先级,如果customer_type='r'的记录大于20条,则随机更新这里的20条记录。如果customer_type='r'的记录小于20条(比如15条),则更新这15条,并从customer_type<>'r'的记录中随机更新5条。

 

部分源数据如下:



 

集算器脚本:



 

A1,A2:执行SQL,按参数取出符合条件的记录的主键。其中A1customer_type='r'的记录,A2customer_type<>'r'的记录。

A3:根据A1中的记录数量计算出需要更新的记录主键。A1.sort(rand())表示对A1随机排序,to(20)=[1,2…20],表示取前20条。运算符|可以将两个集合纵向合并。计算结果如下:

A1,A2,A3的计算结果分别如下:



 

A4:按照A3更新数据表,@u表示只生成update语句。

  • 大小: 33.9 KB
  • 大小: 81.6 KB
  • 大小: 50.4 KB
23
13
分享到:
评论

相关推荐

    HiveSQL优化手册

    - **Cluster By**:当`Distribute By`和`Sort By`字段相同时,可以使用`Cluster By`代替,简化写法的同时实现相同的效果。 2. **合理设置Map/Reduce Task数量** - **减少Map数量**:通过小文件合并或调整JVM重用...

    java实现的考试系统

    这需要利用算法来实现,比如优先队列可以用于按权重选择试题,哈希表则用于避免重复试题。同时,系统还应支持自定义试卷模板,以便调整试题顺序和布局。 5. **答题功能**:考生在指定时间内完成试卷,系统需实时...

    labuladong的算法小抄完整版.pdf

    - 广度优先搜索算法框架及其实现。 #### 滑动窗口解题套路框架 - 滑动窗口技巧在解决数组和字符串问题中的应用。 #### 双指针技巧总结 - 分析双指针技巧在算法中的应用,例如在有序数组中寻找两数之和等问题。 ##...

    2021-2022计算机二级等级考试试题及答案No.11625.docx

    操作查询不在 SQL 查询的范畴内,通常是指在特定数据库管理系统(如 Access)中用于执行数据更新操作的查询类型。 ### 5. 记录有效性规则 **知识点**:为了防止数据重复录入,可以设置记录有效性规则。 **详细解释...

    基于微信小程序的云上考试系统

    在云上考试系统中,SSM框架用于实现服务器端的功能,如用户认证、试题管理、考试安排、成绩计算等。 四、数据库设计 考试系统需要存储大量的试题、用户信息、考试记录等数据,因此合理的数据库设计至关重要。这涉及...

    2021-2022计算机二级等级考试试题及答案No.10346.docx

    - **解析**: 在进行逻辑表达式计算时,遵循的优先顺序是从高到低依次为括号、`NOT`、`AND`、`OR`。 - **扩展**: 这一优先级顺序是大多数编程语言遵循的标准,理解并掌握这一顺序对于编写正确的逻辑表达式至关重要...

    云计算基础课件-Hadoop:Google云计算的开源实现 .ppt

    - **Hive**:提供 SQL 接口的工具,简化了 Hadoop 数据的查询和管理。 - **Pig**:用于数据分析的高级数据流语言。 - **ZooKeeper**:用于分布式应用的协调服务。 通过这些组件,Hadoop 构建了一个强大而灵活的生态...

    技术沙龙构建高性能的MySQL系统

    - **Selectivity性好的列优先考虑:** 选择区分度高的字段作为索引。 - **联合索引:** 多考虑列的次序。 - **条件中尽量使用唯一key:** 提高查询效率。 - **聚集索引:** 使用主键查询,考虑主键的数据类型。 - **...

    2019浙大软院专业课复习

    2. SQL语言:熟练使用SQL语句进行数据查询、插入、更新和删除操作,掌握JOIN、子查询和聚合函数的使用。 3. 数据库设计:理解数据库设计的三范式(1NF、2NF、3NF),以及BCNF(博科斯范式)和4NF。 4. 性能优化:...

    (2024)跳槽涨薪必备精选面试题.pdf

    - **ArrayList** 基于动态数组实现,支持随机访问元素,插入删除效率较低。 - **LinkedList** 基于双向链表实现,插入删除操作效率高,不支持随机访问元素。 3. **CopyOnWriteArrayList的底层原理** - `...

    基于ASP的LS!DKP v3.0.3 Build 081223.zip

    DKP可以协助公会进行公正的战利品分配,基于DKP积分和其他设定规则,如随机抽取、高DKP优先等。 4. **活动管理**:管理员可以规划和跟踪公会的副本活动,记录参与成员、活动时间、怪物击杀情况等。 5. **报表与...

    Java数据结构与算法

    “ibatis.chm”可能是一个关于iBATIS框架的CHM帮助文档,iBATIS是一个早期流行的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,简化了数据库操作。虽然现在已被MyBatis所取代,但理解其工作原理对于了解...

    J2EE高性能编程

    - **ArrayList**:基于数组实现,适用于随机访问场景,如`get()`和`set()`操作。当需要频繁地进行此类操作时,ArrayList的性能更佳。 - **LinkedList**:基于双向链表实现,适用于频繁的插入和删除操作,如`add()`...

    Java软件开发实战 Java基础与案例开发详解 10-9 练习题 共5页.pdf

    它旨在简化C++语言的复杂性,并增加对网络计算的支持。 #### 1.2 认识Java语言 Java语言具有跨平台性(一次编写,到处运行)、面向对象、健壮性和安全性等特点。它的设计目标是让程序员能够更容易地开发出稳定可靠...

    ACMer 要学的知识

    1. **基本搜索算法**:包括广度优先搜索(BFS)和深度优先搜索(DFS)。 2. **双向BFS**:从目标节点和起始节点同时进行BFS,加速寻找路径。 3. **启发式搜索**:如A*算法,结合实际问题的启发信息找到近似最优解。 4. *...

    论文研究-复杂网络上计算机病毒传播和控制策略研究.pdf

    这些模型通过数学化的方式简化了实际网络的复杂性,便于进行理论分析和计算模拟。在这些模型的基础上,研究人员可以模拟病毒在不同网络结构中的传播过程,并据此来评估不同控制策略的效果。 此外,文章中也引用了...

Global site tag (gtag.js) - Google Analytics