①ROW_NUMBER:
Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。
②AS rownum
这个是定义一个字段的别名,也就是说需要使用你前面ROW_NUMBER() OVER(" + orderBy + ") 这一部分的时候,可以直接使用rownum来代替。
③AS T1 AS T2
这是定义一个表或者检索结果集的别名,和上面的类似,也是在使用该表和检索结果集的时候可以直接使用该别名。
例子的话,参见以下的网站吧,特别是关于ROW_NUMBER部分的。
http://hi.baidu.com/yyflyons2008/blog/item/a73eacfaf79fcc9058ee9019.html
关于你的SELECT * FROM (SELECT T1.*, ROW_NUMBER() OVER(" + orderBy + ") AS rownum FROM这个地解释:
ROW_NUMBER() OVER(" + orderBy + ") AS rownum 这一部分是指的将T1里面的数据按照参数orderBy指定的顺序进行排序后,按照顺序取得行号,并为其取别名rownum。
SELECT T1.*, ROW_NUMBER() OVER(" + orderBy + ") AS rownum FROM .....
T1.*是说将T1表的所有字段取出来,加上上面取得的行号,共同组成结果集。
外面的一层SELECT * FROM ,是指的把上面的检索结果作为子查询,再次和另外的表连接等处理后,再次从中选择部分字段(*的话,是全部)。
as的意思是将查询到的值赋值给后面的别名 直接引用别名就可以了
比如select count(*) as (这里随意定义一个别名) from table
ROW_NUMBER()一看就是个函数,英文意义就是行号
as 就是给对象 起个别名
给你看下这个网址 研究一下吧