lag() over()
SELECT C.*,LAG(C.column,1) OVER(ORDER BY C.column) FROM Table C; 第一条记录已经无法再取前一条记录,所以LAG()函数返回空。 SQL为意思如下。 LAG(C.CNAME, 1) 表示取前一条记录的CNAME的值。 OVER(ORDER BY C.CNO)表示按CNO来排序,然后决定记录之间的前后关系
lag() over(partition by column order by column)
SELECT C.*,LAG(C.CNAME,1) OVER(PARTITION BY C.TNO ORDER BY C.CNO) FROM COURSE C;
partition by是用来分区的。对TNO进行分区,在不同的TNO下寻找上一条记录的CNAME的值。
concat( )
SELECT CONCAT(region_name,store_name) FROM Geography
WHERE store_name = 'Boston';