Skip to main content
The following query computes the average value over a specific field:
SELECT pdb.agg('{"avg": {"field": "rating"}}') FROM mock_items
WHERE id @@@ pdb.all();
Expected Response
              agg
-------------------------------
 {"value": 3.8536585365853657}
(1 row)
See the Tantivy documentation for all available options.

SQL Average Syntax

SQL’s AVERAGE syntax is supported in beta. To enable it, first run
SET paradedb.enable_aggregate_custom_scan TO on;
With this feature enabled, the following query is equivalent to the above and is executed in the same way.
SELECT AVG(rating) FROM mock_items
WHERE id @@@ pdb.all();
By default, AVG ignores null values. Use COALESCE to include them in the final average:
SELECT AVG(COALESCE(rating, 0)) FROM mock_items
WHERE id @@@ pdb.all();