Управление переменными вне оператора SELECT - PullRequest
0 голосов
/ 29 мая 2018
SELECT @rownum := @rownum +1 AS rank, 
    round(LAT_N,4) as lat 
FROM STATION 
HAVING rank = CEIL(@rowCount/2) 
ORDER BY LAT_N 

Как я не могу показать ранг?Или как я могу манипулировать / присваивать переменные вне select?

1 Ответ

0 голосов
/ 29 мая 2018

Используйте подзапрос:

SELECT lat
FROM (SELECT @rownum := @rownum +1 AS rank, 
            round(LAT_N,4) as lat 
      FROM STATION CROSS JOIN
           (SELECT @rownum := 0) params
      ORDER BY lat_n
     ) s
WHERE rank = CEIL(@rowCount / 2) ;

Обратите внимание, что в более поздних версиях MySQL вам может потребоваться выполнить сортировку в подзапросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...