1drop table if exists t1;
2drop database if exists mysqltest;
3CREATE TABLE t1 (a INT, b INT, c INT, d INT);
4INSERT INTO t1 VALUES (1,3,0,NULL),(2,2,0,NULL),(3,4,0,NULL),(4,2,0,NULL);
5SELECT * FROM t1;
6a	b	c	d
71	3	0	NULL
82	2	0	NULL
93	4	0	NULL
104	2	0	NULL
11UPDATE t1 SET c=LAST_VALUE(@last_a:=a,@last_b:=b,@last_c:=c,1), d=4211 WHERE c=0 ORDER BY b DESC LIMIT 1;
12SELECT @last_a, @last_b, @last_c;
13@last_a	@last_b	@last_c
143	4	0
15SELECT * FROM t1;
16a	b	c	d
171	3	0	NULL
182	2	0	NULL
193	4	1	4211
204	2	0	NULL
21DROP TABLE t1;
22SELECT LAST_VALUE(@last_a:=1,@last_b:=1);
23Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
24def					LAST_VALUE(@last_a:=1,@last_b:=1)	3	1	1	N	32897	0	63
25LAST_VALUE(@last_a:=1,@last_b:=1)
261
27select @last_b;
28Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
29def					@last_b	8	20	1	Y	32896	0	63
30@last_b
311
32SELECT LAST_VALUE(@last_a:=1,@last_b:=1.0);
33Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
34def					LAST_VALUE(@last_a:=1,@last_b:=1.0)	246	4	3	N	32897	1	63
35LAST_VALUE(@last_a:=1,@last_b:=1.0)
361.0
37select @last_b;
38Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
39def					@last_b	246	83	3	Y	32896	38	63
40@last_b
411.0
42SELECT LAST_VALUE(@last_a:=1,@last_b:="hello");
43Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
44def					LAST_VALUE(@last_a:=1,@last_b:="hello")	253	5	5	N	1	39	8
45LAST_VALUE(@last_a:=1,@last_b:="hello")
46hello
47select @last_b;
48Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
49def					@last_b	251	16777215	5	Y	0	39	8
50@last_b
51hello
52SELECT date(LAST_VALUE(@last_a:=1,@last_b:="2001-02-03"));
53Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
54def					date(LAST_VALUE(@last_a:=1,@last_b:="2001-02-03"))	10	10	10	Y	128	0	63
55date(LAST_VALUE(@last_a:=1,@last_b:="2001-02-03"))
562001-02-03
57select @last_b;
58Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
59def					@last_b	251	16777215	10	Y	0	39	8
60@last_b
612001-02-03
62SELECT LAST_VALUE(@last_a:=1,@last_b:="2001-02-03",NULL);
63Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
64def					LAST_VALUE(@last_a:=1,@last_b:="2001-02-03",NULL)	6	0	0	Y	32896	0	63
65LAST_VALUE(@last_a:=1,@last_b:="2001-02-03",NULL)
66NULL
67select @last_b;
68Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
69def					@last_b	251	16777215	10	Y	0	39	8
70@last_b
712001-02-03
72SELECT LAST_VALUE();
73ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
74