SQL lekérdezésben adott sor sorszáma
You are Reading..
SQL lekérdezésben adott sor sorszáma
Nemrégiben egy olyan lekérdezést kellett készítenem, ahol az első oszlopban szerepelnie kellett az adott sor sorszámának. Mindezt azért, hogy tízes csoportokba tudjam foglalni a lekérdezett adatokat.
Azaz a plusz mező az első tíz sor esetén 0 -val kezdődött, a 11-20 -ig 1 -el, 21 – 30 között 2 -vel, és így tovább.
A megoldás nem is volt annyira bonyolult, mint hittem Oracle alatt:
select trunc((ROWNUM-1) / 10)+1 AS rownumber, c_name from t_tablename order by c_name
Sajnos Microsoft SQL Server alatt ez már nem volt működőképes! Mit volt mit tennem, belemélyedtem az MSSQL lelkivilágába, és végül megtaláltam a megoldást!
select (((ROW_NUMBER() OVER (ORDER BY c_name)) -1) / 10)+1 AS rownumber, c_name from t_tablename order by c_name