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 | +--------+--------------+------+------+
Get MySQL Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.