Управление переменными вне оператора SELECT

0
SELECT @rownum := @rownum +1 AS rank, 
    round(LAT_N,4) as lat 
FROM STATION 
HAVING rank = CEIL(@rowCount/2) 
ORDER BY LAT_N 

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

  • 0
    Какая версия MySQL? Вероятно, действительно легко сделать вид, а затем выбрать нужные столбцы.
Теги:

1 ответ

1

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

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 вам может понадобиться выполнить сортировку в подзапросе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню