I use a user-defined variable in MySQL to group zip codes. Now I only want to select results with column rownum
equal to 1. How to select by rownum
in WHERE clause by alias rownum
?
Following query gives me the desired results ..
SET @row := 0;
SELECT
(CASE WHEN @plz <> user.plz THEN @row := @row +1 ELSE @row END) AS rownum, @plz:= user.plz, uid
FROM
(SELECT @row := 0) AS var,
user
Results:
rownum plz uid
1 2378 92014
1 2378 87323
2 6766 91344
2 6766 90342
3 9999 34353
Now, I only want to select by specific rownum
. How to select by alias rownum
?
SELECT
(CASE WHEN @plz <> user.plz THEN @row := @row +1 ELSE @row END) AS rownum, @plz:= user.plz, uid
FROM
(SELECT @row := 0) AS var,
user
WHERE rownum=1
does not work, why? How to select data by alias rownum
only?