There is, but....
It's possible to do it 'on the fly' in a select, but this has serious performance considerations once the underlying data is more than just tiny.
Another easy workaround is to insert your initial select into a temptable with an identity column, and then select from that.
Finally, the current 'most fitting all' recommendation is to do the numbering in the client app.
/Kenneth