中间这句看不懂,(select count(*) from test where id<=a.id) rea1gz(冒牌realgz V0.3) 能给讲讲吗 它怎么得到序号的
这个真的不好讲,估计我的正牌们都能讲清楚,可是我是冒牌的(select count(*) from test where id<=a.id) 好像是叫嵌入查询,但是我都是当作子查询来理解的,这一句实际就是统计出当前纪录(a.id)之前(包括当前纪录)的纪录条数,那就是需要的序号了冒牌的解释估计很不清楚,楼主如果还没理解,那就等多几天,等哪个正牌来解释吧
呵呵!!先声明我不是什么正牌,只是这个语句我是这样理解的 大家听听对不对,共同学习吗?select (select count(*) from test where id<=a.id) as 序号, id,name from test a order by id我直接解释括号内的语句吧 对表test进行统计所有的行数,假设是count(*)是3的话,根据判定条件,因为使用是同一个表test, 所以需要为其取别名a,只要满足id<=a.id这个条件的话,从小到大即为1,2,3也就是所需的序号, 很巧妙的用法,不知这个解释可以吗
select (select count(*) from test where id<=a.id) as 序号,
id,name
from test a
order by ida是什么东东啊,谢谢
from test我记得是这样的.
a就是test表
select 序号=identity(int,1,1),* into #t from test order by idselect * from #t drop table #t
这个语句效率不行,数据多的话应该用临时表谢谢 rea1gz(冒牌realgz V0.3) ,现在这个系统数据量不大,所以想用一下这种方法,谢谢
a就是test表的别名
它怎么得到序号的
大家听听对不对,共同学习吗?select (select count(*) from test where id<=a.id) as 序号,
id,name from test a order by id我直接解释括号内的语句吧
对表test进行统计所有的行数,假设是count(*)是3的话,根据判定条件,因为使用是同一个表test,
所以需要为其取别名a,只要满足id<=a.id这个条件的话,从小到大即为1,2,3也就是所需的序号,
很巧妙的用法,不知这个解释可以吗