MySQL 如何选择查询中添加一列,但新列的值将为MySQL选择查询的行计数
可以使用MySQL row_number()来实现。首先,让我们创建一个表 –
mysql> create table DemoTable1342
-> (
-> Score int
-> );
查询成功,受影响的行数为0(用时0.68秒)
使用insert命令将一些记录插入表中 –
mysql> insert into DemoTable1342 values(80);
查询成功,受影响的行数为1(用时0.24秒)
mysql> insert into DemoTable1342 values(98);
查询成功,受影响的行数为1(用时0.09秒)
mysql> insert into DemoTable1342 values(78);
查询成功,受影响的行数为1(用时0.14秒)
mysql> insert into DemoTable1342 values(89);
查询成功,受影响的行数为1(用时0.07秒)
使用select语句显示表中的所有记录 –
mysql> select * from DemoTable1342;
这将产生以下输出 –
+-------+
| Score |
+-------+
| 80 |
| 98 |
| 78 |
| 89 |
+-------+
4 rows in set (0.00 sec)
以下是从选择查询中添加列的查询,但新列的值将为MySQL选择查询的行计数 –
mysql> select Score,row_number() over() as `Rank` from DemoTable1342 order by Score DESC;
这会产生以下输出 –
+-------+------+
| Score | Rank |
+-------+------+
| 98 | 1 |
| 89 | 2 |
| 80 | 3 |
| 78 | 4 |
+-------+------+
4 rows in set (0.32 sec)
阅读更多:MySQL 教程