Добрый день!
Используется
PostgreSql в качестве базы.
Есть 3 таблицы: Пользователи, предложения, рейтинги. Нужно, чтобы сначала шла сортировка по рейтингам по убыванию, далее по предложеным ценам из предложения по возрастанию. Чтобы сначала были более приоритетные предложения:
Пользователи:
--------------------
m_users
--------------------
id
name
--------------------
Предложения:
--------------------
mс_offers
--------------------
id
user_id
price
--------------------
Рейтинги:
--------------------
mс_offers
--------------------
id
user_id
name
--------------------
Пробую так:
SELECT * FROM m_users
LEFT JOIN mc_rating ON m_users .id = mc_rating.user_id
LEFT JOIN mc_offers ON users.id = mc_offers.user_id
ORDER BY ( SUM(mc_rating.name) / COUNT(mc_rating.name) GROUP BY mc_rating.user_id ) DESC, mc_offers.price;
Получаю такую ошибку:
ERROR: syntax error at or near "GROUP"
LINE 28: ... BY ( SUM(mc_rating.name) / COUNT(mc_rating.name) GROUP BY ^
********** Ошибка **********
ERROR: syntax error at or near "GROUP"
SQL-состояние: 42601
Символ: 1213
Пробую сяк:
SELECT * FROM m_users
LEFT JOIN mc_rating ON m_users .id = mc_rating.user_id
LEFT JOIN mc_offers ON users.id = mc_offers.user_id
ORDER BY ( SUM(mc_rating.name) / COUNT(mc_rating.name)) DESC, mc_offers.price
GROUP BY mc_rating.user_id;
Ловлю такую ошибку:
ERROR: syntax error at or near "GROUP"
LINE 29: GROUP BY mc_rating.user_id;
^
********** Ошибка **********
ERROR: syntax error at or near "GROUP"
SQL-состояние: 42601
Символ: 1236
В чем может быть проблема?