You should revisit and review the business case for doing this. It is fraught with problems - for example, you will need to convert the table so all the columns are character columns - varchar, char etc. That is a very bad idea and goes against the very essence of good database design.
"Best Advice" and "Best Practices" are sometimes at extreme odds of the needs of "Reality".
If you could explain why such a need exists and what the "Reality"and ultimate use/purpose/reason for the need is, perhaps we could show you a way to do this without totally destroying the inherent functionality of a given table. In other words, provide you a solution with the best of both worlds.
How 'bout it? Why are you so resistant to just explaining WHY you want or need to do this? IMHO, there's a really simple method for doing this but I'd like to know the reason first because you'll never tell us if you have the solution first.
I'm glad you got what you wanted BUT your solution isn't what you asked for. You meant "first row on a RESULT SET" and that's a whole lot different.
NOR will it work the way you think it's going to work. You have a couple of serious issues with your code. Yeah... it works with the data you posted. But it won't work with all the data possible according to your table definition. For example, you have these two columns...