把表中 amt字段的和等于1000的记录找出来,就是看哪几条记录的amt字段加起来等于1000 ,在线等(100分)

  • 主题发起人 主题发起人 Regedit418
  • 开始时间 开始时间
R

Regedit418

Unregistered / Unconfirmed
GUEST, unregistred user!
把表中 amt字段的和等于1000的记录找出来<br>就是看哪几条记录的amt字段加起来等于1000
 
我想问问有什么实际意义吗?<br>SUM(amt)
 
这根任选几个数字其和等于1000效果不是一样?难道你要显示这几个数字?<br>不明白,关注中...
 
我有一系列记录,可能一条或几个记录的和就是1000了,也有可能所有的加起来都不为1000,我如何把这些加起来和为1000的记录挑选出来,客户要这么使用,不知道如何解决
 
关注中。。。。
 
各位大侠,看看如何解决撒
 
sql.add('select &nbsp;* &nbsp;into #temp from 表 &nbsp;where &nbsp;amt&lt;1000 ');<br>sql.add('select &nbsp;* &nbsp;from #temp &nbsp;where sum(amt)=1000');
 
实验过了
 
to xzhenghai:<br>你用的什么数据库?
 
如果所有的加起来的大于1000,要在这些记录中看有没有部分记录加起来的和为1000
 
说实话,你的客户还真挑剔!<br>用过程来实现<br>我的环境是Oracle8i<br>create or replace procedure mySQL<br>(p_sql out varchar2)<br>as<br>total:number;<br>begin<br>select sum(amt) into tatal from tablename;<br> if tatal&lt;1000 then<br> p_sql := '没有满足条件的记录';<br> return;<br> end if;<br>end;<br>我觉得在写下去的话,要写好多代码。<br>我顺便问一句,你的客户是怎么要求的?
 
先对lz 的这个问题质疑下:一个表中sam字段和&gt;1000 ? 那不就是所有数据了吗? 这个问题下只有两种可能 :<br>1,表中sam字段的和 &lt;=1000 ,那返回null<br>2,表中sam字段和&gt;1000,那返回整个表<br><br>我想lz肯定漏掉了点,就是还有个 字段来区别的,就是还有个条件 ,比如和到1000 的前几条记录.
 
to:sefeng1982<br>我的意思并不是一定要所有的记录都加起来,也许所有记录加起来也不等于1000,也有可能是加起来后超过1000,如果超过1000,就要再在这些记录中看部分AMT字段的值的和是否有等于1000的情况,有点像离散数学里的知识,困惑中
 
create or replace procedure mySQL<br>(p_sql out varchar2)<br>as<br>total:number;<br>begin<br>select sum(amt) into tatal from tablename;<br> if tatal&lt;1000 then<br> p_sql := '没有满足条件的记录';<br> return;<br> end if;<br>if tatal&gt;=1000 then<br> p_sql := 'select * from tablename';<br> return;<br> end if;<br><br>end;
 
to lz:<br>&quot;我的意思并不是一定要所有的记录都加起来,也许所有记录加起来也不等于1000,也有可能是加起来后超过1000,如果超过1000,就要再在这些记录中看部分AMT字段的值的和是否有等于1000的情况,有点像离散数学里的知识,困惑中 &quot; <br><br>正如你回答我的答案上写的 &nbsp;需要部分的amt 字段的值的和=1000 , 那这个部分怎么出来的呢??? <br><br>呵呵,其实不管如何 都是 group by &nbsp;+sum 应该可以实现的,关键就是查询条件了.<br>你现在这个查询条件没说清楚啊
 
假如SUM(AMT)&gt;1000,有可能有很多种情况,也有可能一种也没有。好比找一个集合的子集,比如有这样一组数据200,500,400,和大于1000,但是两两相加根本就不能得到1000
 
to scu006<br><br>其实就是lz 的那个查询条件没说清楚 .
 
group by 对它能起作用吗?你只能把具有相同的东西集合起来
 
我觉得,根本就没有实际意义,是吧sefeng1982
 
to scu006<br><br>我说的group by 可能可以,因为它的条件没给出来,所以我们不知道怎么 sum() 啊
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部