Я использую пользовательскую переменную в MySQL для группировки почтовых индексов. Теперь я хочу выбрать только результаты со столбцом rownum
, равным 1. Как выбрать rownum
в предложении WHERE по псевдониму rownum
?
Следующий запрос дает мне желаемые результаты ..
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
Результаты:
rownum plz uid
1 2378 92014
1 2378 87323
2 6766 91344
2 6766 90342
3 9999 34353
Теперь я хочу выбирать только по спецификации c rownum
. Как выбрать по псевдониму 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
не работает, почему? Как выбрать данные только по псевдониму rownum
?