dbms_aw.eval_number 解析算术表达式
2014-05-23 10:04
169 查看
教主 帮朋友问个问题 有个类似于撮合的系统
随机取10个用户 要求他们的一个指标数之和等于100
这种需求能用sql搞定么?
由于对算法研究不多,对于这种问题只想到枚举所有10个的组合,然后计算和
这儿就需要对生成的算术表达式进行解析,可以用 dbms_aw.eval_number
我们用emp.sal来模拟,取三个sal相加等于5825 的记录
随机取10个用户 要求他们的一个指标数之和等于100
这种需求能用sql搞定么?
由于对算法研究不多,对于这种问题只想到枚举所有10个的组合,然后计算和
这儿就需要对生成的算术表达式进行解析,可以用 dbms_aw.eval_number
我们用emp.sal来模拟,取三个sal相加等于5825 的记录
SELECT * FROM (SELECT ltrim(sys_connect_by_path(empno, ','), ',') AS empno_p, ltrim(sys_connect_by_path(ename, '+'), ',') AS ename_p, ltrim(sys_connect_by_path(sal, '+'), '+') AS sal_p FROM emp WHERE connect_by_isleaf = 1 CONNECT BY nocycle PRIOR ROWID < ROWID AND LEVEL <= 3) WHERE dbms_aw.eval_number(sal_p) = 5825; EMPNO_P ENAME_P SAL_P -------------------- -------------------- -------------------- 7499,7521,7566 +ALLEN+WARD+JONES 1600+1250+2975 7499,7566,7654 +ALLEN+JONES+MARTIN 1600+2975+1250 2 rows selected
相关文章推荐
- dbms_aw.eval_number
- dbms_aw.eval_number
- 数据结构之应用"栈(Stack)"实现: 解析算术表达式及计算
- 利用堆栈解析算术表达式一:基本过程
- 04 Java API:arraylist实现算术表达式的解析
- 用MoonScript实现算术表达式解析
- 利用堆栈解析算术表达式一:基本过程
- 堆栈解析算术表达式
- 解析算术表达式
- 算术表达式解析(第三版)词法分析版
- 解析算术表达式字符串
- 利用堆栈解析算术表达式
- 堆栈解析算术表达式(总结)
- 数据结构习作之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java) (技术含量少许)
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java)
- 数据结构之应用"栈(Stack)"实现: 解析算术表达式及计算
- 堆栈解析算术表达式
- 后缀表达式与解析算术表达式
- JAVA数据结构学习实例--利用栈解析算术表达式
- 利用堆栈解析算术表达式