--试下这个呢(注意更换其中的表名[MyTable]、[金额字段名]、编号字段名[ID]):
declare @Sum float, @ID int
set @sum=00
select into #tmp from [MyTable] order by [ID]
while @sum<10000 begin
select top 1 @sum=@sum+[金额字段名], @ID=[ID] from #tmp
delete #tmp where [ID]=@ID
End
drop table #tmp
if @sum>=10000
Print '总金额大于等于10000 时候的最大编号为' + cast(@ID as varchar(5000))
else
Print '所有记录金额之和都小于10000'
--GoodLuck!!
我只想到用子查询select top 10 ,(select count(1) from userTable )as 'count' from userTable但这样总记录会查10次我想要只查1次count() ,然后添加到记录集的最后一列的第一行或者 能在sql语句中添加output参数吗?我用的java回答:你如果这样写sql语句的话,那么,在你查询出来的结果集中肯定会包含10个“count(1)”。如果你只想出现一次“count(1)”的话,你就必须把“count(1)”单独查询出来,然后再用union和另一个记录集进行合并。没有办法给你演示,只能这样给你说了,不知道你看懂没有?呵,,,,追问:你的意思是添加到记录集的最后一行吗回答:差不多就是这个意思,就是把它们两者分别查询出来,然后再用union进行联合。
楼上说得可行,select count() from 表名
在sql中会把解析为相对应的列,我们不建议用,这样会加重sql负担,这样写才是最好的:select count(列名,一列就行) from 表名
以上就是关于sql如何查询一个总金额的条数全部的内容,包括:sql如何查询一个总金额的条数、sql语句分页查询,如何同时返回记录总条数、sql 查询一个表中有多少条数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)