October 2002
Intermediate to advanced
1024 pages
27h 26m
English
You’d like the lines of a query result nicely numbered.
Postprocess the output from mysql, or use a SQL variable.
The -N option can be useful in combination with
cat -n when you want to number
the output rows from a query under Unix:
% mysql -N -e "SELECT thing, arms FROM limbs" cookbook | cat -n
1 human 2
2 insect 0
3 squid 10
4 octopus 8
5 fish 0
6 centipede 0
7 table 0
8 armchair 2
9 phonograph 1
10 tripod 0
11 Peg Leg Pete 2
12 NULLAnother option is to use a SQL variable. Expressions involving variables are evaluated for each row of a query result, a property that you can use to provide a column of row numbers in the output:
mysql>SET @n = 0;mysql>SELECT @n := @n+1 AS rownum, thing, arms, legs FROM limbs;+--------+--------------+------+------+ | rownum | thing | arms | legs | +--------+--------------+------+------+ | 1 | human | 2 | 2 | | 2 | insect | 0 | 6 | | 3 | squid | 10 | 0 | | 4 | octopus | 8 | 0 | | 5 | fish | 0 | 0 | | 6 | centipede | 0 | 100 | | 7 | table | 0 | 4 | | 8 | armchair | 2 | 4 | | 9 | phonograph | 1 | 0 | | 10 | tripod | 0 | 3 | | 11 | Peg Leg Pete | 2 | 1 | | 12 | space alien | NULL | NULL | +--------+--------------+------+------+