如何从select查询中添加列,但新列的值将是select查询的行计数。
select quantity from menu;
然后像这样回来
+--------+
|quantity|
+--------+
| 50 |
| 32 |
| 23 |
+--------+
但我想要这样的东西
+----------+--------+
|new column|quantity|
+----------+--------+
| 1 | 50 |
| 2 | 32 |
| 3 | 23 |
+----------+--------+
新列应该从select查询语句的1开始,从行计数结束。任何回答都会有帮助的谢谢
4条答案
按热度按时间eimct9ow1#
您可以使用:
这假设您希望按数量降序枚举行。
tez616oj2#
由于您可以访问最新版本的mysql,我们只需使用
Row_Number()
功能:tvmytwxo3#
在这种情况下,您需要做的是首先使用set定义变量@inc,然后指定默认值0。
然后将@inc作为select语句的一部分。甚至可以使用as作为变量表达式的昵称。
作为选择的一部分,您还需要注意增加@inc中的值。
代码如下所示:
希望能有帮助!
9lowa7mx4#
请参见:https://stackoverflow.com/a/6055852/3368558
举个例子: