You need a comma after row_num
and you need an order by
:
SET @row:=0;
SET @sessionID:=0;
SELECT
session_ID,
@row:=if(@sessionID = session_ID, @row+1, 1) AS row_num,
@sessionID := session_ID
FROM test
ORDER BY session_ID;
You can write this as a single query:
SELECT session_ID,
@row:=if(@sessionID = session_ID, @row+1, 1) AS row_num,
@sessionID := session_ID
FROM test cross join
(select @row := 0, @sessionID := 0)
ORDER BY session_ID;