问一个查询语句是什么含义。

liujunyanjiayou 2018-02-09 09:12:33
if object_id('#t') is not null drop table #t
go

create table #t(pct numeric(12,2),rn int)
insert into #t values(95.77,1);
insert into #t values(4.23,2);
insert into #t values(0,3)

select a.pct,a.rn,sum(b.pct) as run_pct
from #t a join #t b on b.rn<=a.rn
group by a.pct,a.rn
having sum(b.pct)-a.pct<=80

想请问一下having sum(b.pct)-a.pct<=80 这个使用了一个临界值,那么这一句具体筛选的是什么?我有点搞不懂。
...全文
2197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OwenZeng_DBA 2018-02-09
  • 打赏
  • 举报
回复
@liujunyanjiayou 要讨论实际的意义的话,你把时间的例子发来看看,再分析吧
liujunyanjiayou 2018-02-09
  • 打赏
  • 举报
回复
引用 1 楼 superwfei 的回复:
a.pct和a.rn相同时,将b.pct求和减a.pct的值小于等于80
pct代表的是百分比的话,rb.pct求和减a.pct的值小于等于80的实际意义是什么呢?
liujunyanjiayou 2018-02-09
  • 打赏
  • 举报
回复
引用 2 楼 z10843087 的回复:
对语句进行分解,一步一步的看,就很清晰了。
pct代表的是百分比的话,run_pct-pct的实际意义是什么呢?
OwenZeng_DBA 2018-02-09
  • 打赏
  • 举报
回复
对语句进行分解,一步一步的看,就很清晰了。
文盲老顾 2018-02-09
  • 打赏
  • 举报
回复
a.pct和a.rn相同时,将b.pct求和减a.pct的值小于等于80
RINK_1 2018-02-09
  • 打赏
  • 举报
回复
觉得会不会是having max(b.pct)-a.pct<=80,就是查询和以往最大百分比不超过80个百分点的记录,百分比求和这种应用好像是很少。

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧