注册 登录
编程论坛 SQL Server论坛

一段SQL代码不理解,请高手解释一下?

olderdream 发布于 2009-10-10 22:47, 914 次点击
一段SQL代码不理解,请高手解释一下?

通过下面的代码可以为TABLE1添加序号字段。
不过自己对于(select count(*) from TABLE1 where 类别<=tb.类别)不理解,请高手解释解释?多谢!!

select (select count(*) from TABLE1 where 类别<=tb.类别),类别 from TABLE1 tb

类别
A
W
S
D


序号    类别
1    A
2    W
3    S
4    D


5 回复
#2
msgj2009-10-11 11:32
select count(*) from TABLE1 where 类别<=tb.类别)
是统计出表TABLE1中类别值<=tb表中类别值的记录数
#3
olderdream2009-10-11 22:52
回复 2楼 msgj
谢谢高手的指点
也就是下面的代码是根据类别顺序,在查询中加一个序号。

那么如何从SQL角度理解,因为TABLE1 就是tb    ----“类别<=tb.类别 ”就是“TABLE1.类别=TABLE1.类别”  理解不通呀! 请赐教!


select count(*) from TABLE1 where 类别<=tb.类别
#4
msgj2009-10-12 09:51
如果TABLE1 就是tb,select count(*) from TABLE1 where 类别<=tb.类别 是从第一个类别字段值开始进行比较计算出个数,字段值最大的应该是count(*)也最大,从而形成序号。但需要把序号定写入TABLE1.类别
#5
olderdream2009-10-16 19:44
回复 4楼 msgj
谢谢指点,多谢!!!!!!!!
#6
bdx8082009-10-17 19:59
不求甚解
1