请教这样的有关问题的MySql查询语句如何写

请教这样的有关问题的MySql查询语句如何写

请问这样的问题的MySql查询语句怎么写?

现在有一个表,名字就叫作comment吧:

+——+

| id |

+——+

| 102 |

| 203 |

| 213 |

| 222 |

| 258 |

| 288 |

| 298 |

| 322 |

+——+

我想给他按照id顺序加上编号:

+—+—–+

| 编号 | id | 

+—+—–+

| 1 | 102 |

| 2 | 203 |

| 3 | 213 |

| 4 | 222 |

| 5 | 258 |

| 6 | 288 |

| 7 | 298 |

| 8 | 322 |

+—-+—-+

这个我能用以下语句实现:

SQL code


  set @floor := 0; select @floor := @floor + 1 as '编号', comment.* from comment

然后我想得到编号4和其后面的2行,在这张表里就会得到如下结果:

+—+—–+

| 编号 | id | 

+—+—–+

| 4 | 222 |

| 5 | 258 |

| 6 | 288 |

+—-+—-+

按照这个实例的步骤,我想请问一般情况下的MySql语句怎么写。我才接触Sql,希望大家能帮助我。谢谢


SQL code

mysql> SELECT * FROM TA4;
+------+
| ID   |
+------+
|  102 |
|  203 |
|  213 |
|  222 |
|  258 |
|  288 |
|  298 |
|  322 |
+------+
8 rows in set (0.00 sec)

mysql> SET @NUM:= 0;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM (
    -> SELECT *,@NUM:= @NUM + 1 AS '编号' FROM TA4) A ORDER BY 编号 LIMIT 3,3;
+------+------+
| ID   | 编号     |
+------+------+
|  222 |    4 |
|  258 |    5 |
|  288 |    6 |
+------+------+
3 rows in set (0.00 sec)

mysql>


set @floor := 0; select * from (select @floor := @floor + 1 as `编号`, comment.* from comment) t where `编号`>=4 limit 3;
请教这样的有关问题的MySql查询语句如何写

相关文章:

你感兴趣的文章:

标签云: