mysql記錄集中記錄序號,MySQL中實現rownum功能類似的語句

MySQL 如何實現 Oracle 的 ROWNUM2010/01/28 23:56mysql> SELECT * FROM frutas;
+———–+———-+
| nombre    | color    |
+———–+———-+
| fresa     | rojo     |
| platano   | amarillo |
| manzana   | verde    |
| uva       | verde    |
| pera      | verde    |
| mandarina | naranja  |
| melocoton | marron   |
| limon     | amarillo |
+———–+———-+
8 rows in set (0,00 sec)

【一條sql語句完成,不set變量】
SELECT @rownum:=@rownum+1 AS rownum, frutas.*
FROM (SELECT @rownum:=0) r, frutas;

mysql> SELECT @rownum:=@rownum+1 AS rownum, frutas.*
-> FROM (SELECT @rownum:=0) r, frutas;
+——–+———–+———-+
| rownum | nombre    | color    |
+——–+———–+———-+
|      1 | fresa     | rojo     |
|      2 | platano   | amarillo |
|      3 | manzana   | verde    |
|      4 | uva       | verde    |
|      5 | pera      | verde    |
|      6 | mandarina | naranja  |
|      7 | melocoton | marron   |
|      8 | limon     | amarillo |
+——–+———–+———-+
8 rows in set (0,00 sec)


但是如何把這個查詢放在 create view 裡面
mysql> CREATE VIEW vw_frutas AS SELECT @rownum:=@rownum+1 AS rownum, frutas.*
->  FROM (SELECT @rownum:=0) r, frutas;
ERROR 1351 (HY000): View's SELECT contains a variable or parameter

 

本文出自“老鳥的大心臟!”
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *