RE: Ordinal number within a table

RE: Ordinal number within a table

am 28.06.2005 16:28:20 von nishikant.x.kapoor

> -----Original Message-----
> > This is in continuation with the above mentioned subject -=20
> I am trying to
> > find the 'display data order' for the returned resultset.=20
> The following
> > thread very well answers my question:
> >
> > http://lists.mysql.com/mysql/185626
> >
> > a) SET @row=3D0;
> > b) SELECT (@row:=3D@row+1) AS row, ename, empno FROM emp=20
> ORDER BY empno;
> >
> > +-----+--------+-------+
> > | row | ename | empno |
> > +-----+--------+-------+
> > | 1 | SMITH | 7369 |
> > | 2 | ALLEN | 7499 |
> > | 3 | WARD | 7521 |
> > | 4 | JONES | 7566 |
> > | 5 | MARTIN | 7654 |
> > +-----+--------+-------+
> >
> > However, I am trying to use it in a perl script instead of=20
> from command line,
> > and I am not sure how exactly to do it. I need to execute=20
> both statements a &
> > b together or else I get
> >
> > +-----+--------+-------+
> > | row | ename | empno |
> > +-----+--------+-------+
> > |NULL | SMITH | 7369 |
> > |NULL | ALLEN | 7499 |
> > |NULL | WARD | 7521 |
> > |NULL | JONES | 7566 |
> > |NULL | MARTIN | 7654 |
> > +-----+--------+-------+
> >
> > How can I execute both (a) and (b) in my perl script?
> >
> > Thanks for any help.
> > Nishi

Hi,
You don"t need to use @row in perl,
just use :

$n=3D0;
while (fetch..) {
$n++;
print "$n"."$ename ...\n";

}

Mathias

I could, but I am assigning the entire resultset in one shot to another =
construct as follows:

my $str =3D "SELECT \@row:=3D\@row+1 as row, FROM =
WHERE ...";
my $sth =3D $conn->prepare($st);
$sth->execute();
return $sth->fetchall_arrayref( {} );

Thanks,
-Nishi


--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=3Dgcdmp-msql-mysql-modules @m.gmane.org