1.27 Numbering Query Output Lines
1.27.1 Problem
You'd like the lines of
a query result nicely numbered.
1.27.2 Solution
Postprocess the output from mysql, or use a SQL
variable.
1.27.3 Discussion
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 NULL
Another 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 |
+--------+--------------+------+------+
|