У меня есть таблица рейтинга.
CREATE TABLE merchants_rating(
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE,
merchant_id INTEGER NOT NULL REFERENCES users ON DELETE CASCADE,
rating INTEGER NOT NULL
);
Я хочу вставить в нее данные и получить сумму рейтинга продавца и числа пользователей, которые его оценили.
Я сделалзапрос.
WITH INSERT_ROW AS (
INSERT INTO MERCHANTS_RATING (USER_ID, MERCHANT_ID, RATING)
VALUES(147, 92, 2)
)
SELECT SUM(R.RATING) AS SUMMA_RATING, COUNT(R.USER_ID) AS USER_COUNT
FROM MERCHANTS_RATING AS R
WHERE R.MERCHANT_ID = 92
Данные успешно добавлены, но в выходных данных есть проблемы. Когда таблица пуста и я впервые добавляю в нее данные, я получаю такие значения.
SUMMA_RATING | USER_COUNT |
----------------------------
NULL | 0 |
Хотя я ожидаю получить.
SUMMA_RATING | USER_COUNT |
----------------------------
2 | 1 |
Поскольку один пользователь оценилпродавец.
Что я сделал не так?