Rob Farley

Rob Rob Farley has been consulting in IT since completing a Computer Science degree with first class honours in 1997. Before moving to Adelaide, he worked in consultancies in Melbourne and London. He runs the development department in one of Australia's leading IT firms, as well as doing database application consultancy and training. He heads up the Adelaide SQL Server User Group, and holds several Microsoft certifications.

Rob has been involved with Microsoft technologies for most of his career, but has also done significant work with Oracle and Unix systems. His preferred database is SQL Server and his preferred language is C#. Recently he has been involved with Microsoft Learning in the US, creating and reviewing new content for the next generation of Microsoft exams.

Over the years, Rob's clients have included BP Oil, OneLink Transit, Accenture, Avanade, Australian Electorial Commission, the Chartered Institute of Personnel and Development, the Royal Borough of Kingston, Help The Aged, Unisys, Department of Treasury and Finance (Vic), National Mutual, the Bible Society and others.

Did you mean to come here? My blog is now at

07 August 2006

SQL Code Camp

October 7 and 8 this year places me in Wagga Wagga for the SQL Code Camp. You'll notice my name in the speaker list. I'm going to talk about row_number(), and other uses of the windowing features. It's called windowing and ranking functions, but I've had a couple of people ask me what a windowing function is. No... there's windowing, and there's ranking functions. row_number() is a ranking function, which uses the windowing feature of the OVER clause.

So anyway, here's my abstract:

SQL2005 introduces the OVER clause to T-SQL, and with it, ranking functions and windowing. Ranking functions, particularly the row_number() function, give database developers a lot more flexibility to solve many problems. And the windowing features of the OVER clause not only allow new solutions to old problems, but can allow a much higher level of query-optimisation than before. In this session, some of the uses of this new functionality will be explored - demonstrating some of the ways in which problems can be solved more easily and efficiently.

If you're interested in this type of thing, grab me on MSN Msgr and ask me some more... or else come to Wagga!