Можете ли вы суммировать строки из набора результатов одного запроса и использовать эту сумму в другом запросе? - PullRequest
1 голос
/ 30 апреля 2020
  1. У меня есть запрос, который будет суммировать баллы от лучших пользователей веб-сайта:
SELECT SUM(score) 
FROM hacker_news
GROUP BY user
HAVING score > 200;

Это дает набор результатов с 4 строками и 4 целыми числами.

Я хочу суммировать эти 4 строки и разделить их на сумму баллов всей таблицы.

Я попытался запустить его, используя подзапрос и временный

любая помощь в написании простейшего возможного запроса будет высоко ценится. В идеале я хотел бы знать, выполнимо ли это без создания временной таблицы и присоединения

1 Ответ

0 голосов
/ 30 апреля 2020

Если вы хотите, чтобы доля итоговых баллов составляла более 200, вы можете использовать условное агрегирование:

SELECT SUM(CASE WHEN score > 200 THEN score ELSE 0 END) / SUM(score) 
FROM hacker_news
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...