Built and run by one person.
Twelve More Stats Functions on the Cricket SQL Endpoints, and the Two Limits That Are Easy to Hit

Twelve More Stats Functions on the Cricket SQL Endpoints, and the Two Limits That Are Easy to Hit

Published: September 12, 2026

For analysts running advanced SQL on the Tigzig cricket database: I read the error logs as feedback. You asked, I implemented. 12 stats functions enabled today, on top of the 17 SQL functions earlier this week, queries up to 3,500 characters, and up to 10 SELECTs or CTEs in one statement.

I run a regular review of logs on Tigzig data surfaces, including the cricket SQL endpoints. Security first, then errors and latencies ... what I find there I treat as feedback, and I do what I can.

The main change in the last 24 hours

Callers were writing percentiles, quartiles and ranking functions that were not on the allow list, so twelve statistical functions went in today.

Two limits that are easy to hit without knowing they are there

A query can run to 3,500 characters, and one statement can carry up to ten SELECTs, so CTEs and subqueries are fine inside that. Up to 1,000 rows come back per query, so do the aggregation in the SQL.

If any of those limits gets in the way, the whole database is there to download, refreshed twice daily. One click or API call and the whole thing is yours.

What about Big Bash, PSL, CPL

They are on the horizon, but I have no date for them and it is unlikely to be very soon. For now it is IPL plus the internationals.

A few quick points

Two engines answer the same SQL, DuckDB and Postgres.

On big aggregations over the ball by ball table DuckDB is the faster of the two by a wide margin, and Postgres is the one that runs into the thirty second limit. Point lookups are fine on either. So if a heavy query times out on Postgres, try it on the DuckDB endpoint before you rewrite it.

The 3,500 character limit is measured after URL decoding. A GET that is over only because of the encoding will fit as a POST with a JSON body, but a statement that is long on its own needs shortening or splitting either way.

quantile_cont and quantile_disc are the DuckDB spellings and Postgres does not have them. percentile_cont and percentile_disc work on both, so those are the portable choice.

The manifest, with the build time and every file: api.tigzig.com/cricket/v1/downloads/manifest

Tigzig cricket database hub

tigzig.com/apis/database

Compliance note

Data source is Cricsheet (cricsheet.org), licensed ODC-BY 1.0. TigZig is not affiliated with or endorsed by Cricsheet.


Working on something similar? How I work covers the rates, the availability and what I take on.