Imagine you have to create a running number for a query result and select only the line 1, 2 and 18.
You choose user variables as a means to do that.
(Find all correct answers)
a) set @a=0; select * from (select (@a:=@a+1) as ln,table_name from information_schema.tables where table_schema='mysql' order by table_name) v1 where ln in (1,2,18); b) set @a=0; select (@a:=@a+1) as ln,table_name from information_schema.tables where table_schema='mysql' and @a in (1,2,18) order by table_name; c) set @a=0; select @a as ln,table_name from information_schema.tables where table_schema='mysql' having (@a:=@a+1) in (1,2,18) order by table_name;
[ User Variables (5%) - User Variable Properties ]
Answers:
a c
c works, but the most reliable option is a. User variables are powerful but can be tricky.
Please check http://dev.mysql.com/doc/refman/5.0/en/user-variables.html