Вот полезный ответ , но, к сожалению, он не решит вашу проблему.
В вашем примере:
| error | count
|---------|-------
| hello 2 | 2
| hello 1 | 1
| hello 3 | 1
вы использовали GROUP BY "error"
для подсчета каждого error
, поэтому, как только вы это сделали, у вас больше нет доступа к полному счету, поэтому вы должны сделать это до GROUP BY
.
Вы не можете сделать:
SELECT COUNT(*) AS full_count, "some_unique_data" FROM "my_measument" WHERE $timeFilter
для получения полного количества записей, потому что вы не можете использовать SELECT COUNT(), "field_name" FROM ...
Итак, получить полный счет до выполнения GROUP BY
невозможно.
Хорошо, давайте попробуем что-нибудь еще:
SELECT "fields_count" / SUM("fields_count") AS not_able_to_use_SUM_with_field , "error" FROM (
SELECT COUNT("some_unique_data") AS fields_count AS fields_sum FROM "my_measument" WHERE $timeFilter GROUP BY "error"
)
Этот предыдущий запрос явно не работает. Тогда что делать?
Извините, Вы ничего не можете сделать: /
Вот еще одна ссылка на документацию .