In the last episode (Jun 17), Ed Reed said:
> Is there way to return the ordinal position of a value within a table?
>
> Let's say I have a table of phone numbers. Over time the table has
> had additions and deletions. The table has an autonumber ID field. If
> I sort by the ID field I'd like to know what position the number
> '555-1212' is in the table.
In Oracle you could simply use the internal "rownum" column. In MySQL,
you can use a user variable in a subquery to keep a row count during
the select process:
SET @row=0;
SELECT (@row:[EMAIL PROTECTED]) AS row, ename, empno FROM emp ORDER BY empno;
+-----+--------+-------+
| row | ename | empno |
+-----+--------+-------+
| 1 | SMITH | 7369 |
| 2 | ALLEN | 7499 |
| 3 | WARD | 7521 |
| 4 | JONES | 7566 |
| 5 | MARTIN | 7654 |
| 6 | BLAKE | 7698 |
| 7 | CLARK | 7782 |
| 8 | SCOTT | 7788 |
| 9 | KING | 7839 |
| 10 | TURNER | 7844 |
| 11 | ADAMS | 7876 |
| 12 | JAMES | 7900 |
| 13 | FORD | 7902 |
| 14 | MILLER | 7934 |
+-----+--------+-------+
SET @row=0;
SELECT * FROM (
SELECT (@row:[EMAIL PROTECTED]) AS row, ename, empno FROM emp ORDER BY empno
) t WHERE ename='scott';
+-----+-------+-------+
| row | ename | empno |
+-----+-------+-------+
| 8 | SCOTT | 7788 |
+-----+-------+-------+
--
Dan Nelson
[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]