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

有一个问题一直不明白!

paul3292 发布于 2007-03-01 11:25, 484 次点击

我们经常做一些查询返回一个结果集,并且自动在每行加上序号!这是我惯用的例子:

select (select count(*) from users where name<=u.name) as id,u.name from users u order by id

做到现在了,我还是弄不懂其中的奥秘,寻求帮助!

谢谢!!

4 回复
#2
棉花糖ONE2007-03-01 11:46
呵呵,这个先用着吧,我刚学的时候也没明白
#3
bygg2007-03-01 12:44
select (select count(*) from users where name<=u.name) as id,u.name from users u order by id

select count(*) from users where name<=u.name 这个是当前数据行前的所有数据和 就是编号...不过如果数据量很大的话,这样就会很慢了....因为没读一条数据时都要统计该条数据前的所有数据项和..
#4
paul32922007-03-02 08:40
sql太伟大了,那当初谁发明的这句呢?
反正现在就是用,但是想知道一下其中的东西。
呵呵,这么一看这也差的太远了!
#5
棉花糖ONE2007-03-02 10:06
这东西感觉是用多了,现在写起来顺手,以前是怎么看,怎么不顺眼
1