Я разработчик для мобильных устройств, но в последнее время я выполняю некоторые серверные работы, поэтому, пожалуйста, извините мою терминологию и т. Д. Я столкнулся с тем, что может (??) быть различием между SQLite (то, что яиспользовать на iOS / Android) и PostgreSQL (который я использую в API).
В SQLite я мог бы SELECT *
из таблицы, а затем GROUP BY
один столбец без каких-либо агрегатных функций.Однако в PostgreSQL он продолжает жаловаться, что ему нужны столбцы в группе или функция agg.
Предположим, у меня есть таблица stop_times
, в которой есть следующие столбцы: stop_id
, trip_id
, stop_sequence
и departure_time
.Моя таблица trips
имеет столбец trip_id
и route_id
.В SQLite у меня есть запрос, который выглядит следующим образом:
SELECT * FROM "stop_times"
INNER JOIN "trips" ON "stop_times"."trip_id" = "trips"."trip_id"
WHERE "stop_times"."stop_id" IN (?, ?, ?)
GROUP BY "stop_times"."stop_id", "trips"."route_id"
(я пытаюсь определить stop_sequence
определенного набора остановок вдоль любых маршрутов, которые останавливаются на них.) В PostgreSQLоднако, это, похоже, не работает, так как жалуется, пока я не помещу каждый столбец stop_times
в предложение group by или в агрегатную функцию.Когда я это делаю, то, что я получаю от db, бесполезно (в Rails это просто куча пустых объектов: #<StopTime >
).
Как мне добиться того же, что и выше, но с Postgres?