diff --git a/dal/db_query/queries.sql b/dal/db_query/queries.sql index 35e6ff8..87c3ea4 100644 --- a/dal/db_query/queries.sql +++ b/dal/db_query/queries.sql @@ -517,7 +517,10 @@ WITH Funnel AS ( SELECT q.title AS question_title, ta.total_answers, - CAST(COUNT(*) * 100.0 / NULLIF(ta.total_answers, 0) AS INTEGER) AS percentage + CASE + WHEN ta.total_answers = 0 THEN 0 + ELSE CAST(COUNT(*)::FLOAT / NULLIF(ta.total_answers, 0) AS INTEGER) + END AS percentage FROM answer a JOIN @@ -539,7 +542,10 @@ WITH Funnel AS ( q.id, q.title AS question_title, a.content AS answer_content, - CAST(COUNT(*) * 100.0 / NULLIF(q.total_answers, 0) AS INTEGER) AS percentage + CASE + WHEN q.total_answers = 0 THEN 0 + ELSE CAST(COUNT(*)::FLOAT / NULLIF(q.total_answers, 0) AS INTEGER) + END AS percentage FROM answer a JOIN ( diff --git a/dal/sqlcgen/queries.sql.go b/dal/sqlcgen/queries.sql.go index 172343f..c5663d1 100644 --- a/dal/sqlcgen/queries.sql.go +++ b/dal/sqlcgen/queries.sql.go @@ -1611,7 +1611,10 @@ WITH Funnel AS ( SELECT q.title AS question_title, ta.total_answers, - CAST(COUNT(*) * 100.0 / NULLIF(ta.total_answers, 0) AS INTEGER) AS percentage + CASE + WHEN ta.total_answers = 0 THEN 0 + ELSE CAST(COUNT(*)::FLOAT / NULLIF(ta.total_answers, 0) AS INTEGER) + END AS percentage FROM answer a JOIN @@ -1633,7 +1636,10 @@ WITH Funnel AS ( q.id, q.title AS question_title, a.content AS answer_content, - CAST(COUNT(*) * 100.0 / NULLIF(q.total_answers, 0) AS INTEGER) AS percentage + CASE + WHEN q.total_answers = 0 THEN 0 + ELSE CAST(COUNT(*)::FLOAT / NULLIF(q.total_answers, 0) AS INTEGER) + END AS percentage FROM answer a JOIN (