превращает запрос в сгруппированный запрос, даже без предложения GROUP BY. Вместо этого вы можете использовать подзапрос:

я заканчиваются идеи. Я гуглил больше одного дня и до сих пор не могу найти полезного ответа на свой вопрос.

То, что я делал до сих пор, я пытался использовать сырой SQL, но безуспешно.

locations = db.session.query(Location, select([text('( 6371 * acos( cos( radians("53.6209798282177") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians("13.96948162900808") ) + sin( radians("53.6209798282177") ) * sin( radians( lat ) ) ) )')]).label('distance')).having('distance' < 25).all()

При использовании этого необработанного SQL-запроса я получаю нулевые результаты, но при выполнении того же запроса вmysql он возвращает правильные результаты.

Более того, я выяснил, что при печати запроса на терминал он не обрабатываетHAVING() пункт правильно.

Мой запрос выглядит следующим образом:

SELECT location.id AS location_id, location.created_date AS location_created_date, location.zip AS location_zip, location.user_id AS location_user_id, location.lat AS location_lat, location.lng AS location_lng, location.city AS location_city 
FROM location 
HAVING false = 1

Как мне преобразовать этот SQL-запрос в SQLAlchemy

SELECT *, ( 6371 * acos( cos( radians(53.6209798282177) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(11.96948162900808) ) + sin( radians(53.6209798282177) ) * sin( radians( lat ) ) ) ) AS distance FROM location HAVING distance < 25 ORDER BY distance;

Моя таблица выглядит так:

+--------------+----------------+------+-----+---------+-------+
| Field        | Type           | Null | Key | Default | Extra |
+--------------+----------------+------+-----+---------+-------+
| id           | varchar(50)    | NO   | PRI | NULL    |       |
| created_date | datetime       | YES  |     | NULL    |       |
| zip          | varchar(5)     | NO   | UNI | NULL    |       |
| user_id      | varchar(50)    | NO   |     | NULL    |       |
| lat          | decimal(15,13) | NO   |     | NULL    |       |
| lng          | decimal(15,13) | NO   |     | NULL    |       |
| city         | text           | NO   |     | NULL    |       |
+--------------+----------------+------+-----+---------+-------+

Любая помощь приветствуется.

Ответы на вопрос(1)

Ваш ответ на вопрос