Wednesday, March 25, 2009

T-SQL Row_Number With Group By Clause

kalau nak kuarkan row number dan row number reset bila new group

1. kalau nak row number desc order

-------------------------
SELECT * FROM

(
SELECT row_number() OVER (PARTITION BY XColumn
ORDER BY COUNT(XColumn)) as RowNumber,XColumn,YColumn,ZColumn
from XYZTable
GROUP BY XColumn,YColumn,ZColumn
)a
ORDER BY XColumn,RowNumber desc

2. kalau nak asc order
-------------------------------------------------
SELECT row_number() OVER (PARTITION BY XColumn
ORDER BY COUNT(XColumn)) as RowNumber,XColumn,YColumn,ZColumn
from XYZTable
GROUP BY XColumn,YColumn,ZColumn


NOTE : berguna untuk kira total count per group,running total etc

No comments: