4

what is the problem with this query? it shows null in rowno column.

SELECT @rowno:=@rowno+1 `rn`,`id`, `title`, `topic` 
FROM stories,(SELECT @rownum:=0) r 
WHERE newstype='2';

i run it in 'MySQL Query browser'

thanks in advance.

OMG Ponies
  • 314,254
  • 77
  • 507
  • 490
hd.
  • 16,676
  • 43
  • 110
  • 160

2 Answers2

8

You have a few problems there:

  • You need to initialise @rowno by adding set @rowno = 0 before the query.
  • You're missing an as in @rowno:=@rowno+1 rn.
  • The (SELECT @rownum:=0) r is superfluous, unless you meant this to be the initialisation for @rowno in which case you misspelt it.

This should work:

SET @rowno = 0;
SELECT @rowno:=@rowno+1 as `rn`, `id`, `title`, `topic` 
FROM stories 
WHERE newstype='2';
moinudin
  • 126,681
  • 45
  • 187
  • 213
6

In the increment you are using rowno but in the initial assignment you are using rownum

a_horse_with_no_name
  • 497,550
  • 91
  • 775
  • 843