日期:2014-05-16 浏览次数:21032 次
mysql> SET @t1=0, @t2=0, @t3=0; mysql> SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3; +----------------------+------+------+------+ | @t1:=(@t2:=1)+@t3:=4 | @t1 | @t2 | @t3 | +----------------------+------+------+------+ | 5 | 5 | 1 | 4 | +----------------------+------+------+------+ mysql> select @t:=count(*) from admin; +--------------+ | @t:=count(*) | +--------------+ | 1 | +--------------+
mysql> set @a='test'; mysql> select @a,(@a:=20) from admin; +------+----------+ | @a | (@a:=20) | +------+----------+ | test | 20 | +------+----------+ mysql> select @a; +------+ | @a | +------+ | 20 | +------+
mysql> create table test (id int primary key, value int) ENGINE=InnoDB;
Query OK, 0 rows affected (0.03 sec)
mysql> insert into test values(1, 1), (2, 10), (3, 12), (4, 5), (5, 20);
Query OK, 5 rows affected (0.03 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> set @rownum = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @rownum := @rownum + 1 as rownum, id, value
-> from test where @rownum < 2;
+--------+----+-------+
| rownum | id | value |
+--------+----+-------+
| 1 | 1 | 1 |
| 2 | 2 | 10 |
+--------+----+-------+
2 rows in set (0.00 sec)
mysql> select @rownum as rownum, id, value from test
-> where (@rownum := @rownum + 1) < 2;
mysql> set @rownum = 0;
mysql> select @rownum := @rownum + 1 as rownum, id, value
-> from test where @rownum < 2 order by value;
+--------+----+-------+
| rownum | id | value |
+--------+----+-------+
| 1 | 1 | 1 |
| 2 | 4 | 5 |
| 3 | 2 | 10 |
| 4 | 3 | 12 |
| 5 | 5 | 20 |
+--------+----+-------+
5 rows in set (0.00 sec)
mysql> select @rownum as rownum, id, value from test
-> where (@rownum := @rownum + 1) < 2 order by value;