{"slug":"stock-splits-calendar-from-the-free-sql-api","qid":"splits_per_month","label":"splits_per_month","post_title":"stock-splits-calendar-from-the-free-sql-api","post_url":"/blog/stock-splits-calendar-from-the-free-sql-api#q-splits_per_month","columns":["month","month_label","forward_splits","reverse_splits"],"rows":[{"month":"2023-09-01","month_label":"Sep 2023","forward_splits":20,"reverse_splits":99},{"month":"2023-10-01","month_label":"Oct 2023","forward_splits":8,"reverse_splits":93},{"month":"2023-11-01","month_label":"Nov 2023","forward_splits":4,"reverse_splits":76},{"month":"2023-12-01","month_label":"Dec 2023","forward_splits":19,"reverse_splits":87},{"month":"2024-01-01","month_label":"Jan 2024","forward_splits":8,"reverse_splits":75},{"month":"2024-02-01","month_label":"Feb 2024","forward_splits":9,"reverse_splits":75},{"month":"2024-03-01","month_label":"Mar 2024","forward_splits":44,"reverse_splits":80},{"month":"2024-04-01","month_label":"Apr 2024","forward_splits":30,"reverse_splits":95},{"month":"2024-05-01","month_label":"May 2024","forward_splits":9,"reverse_splits":100},{"month":"2024-06-01","month_label":"Jun 2024","forward_splits":20,"reverse_splits":86},{"month":"2024-07-01","month_label":"Jul 2024","forward_splits":9,"reverse_splits":84},{"month":"2024-08-01","month_label":"Aug 2024","forward_splits":11,"reverse_splits":93},{"month":"2024-09-01","month_label":"Sep 2024","forward_splits":38,"reverse_splits":81},{"month":"2024-10-01","month_label":"Oct 2024","forward_splits":42,"reverse_splits":91},{"month":"2024-11-01","month_label":"Nov 2024","forward_splits":12,"reverse_splits":132},{"month":"2024-12-01","month_label":"Dec 2024","forward_splits":24,"reverse_splits":70},{"month":"2025-01-01","month_label":"Jan 2025","forward_splits":7,"reverse_splits":89},{"month":"2025-02-01","month_label":"Feb 2025","forward_splits":18,"reverse_splits":110},{"month":"2025-03-01","month_label":"Mar 2025","forward_splits":25,"reverse_splits":92},{"month":"2025-04-01","month_label":"Apr 2025","forward_splits":16,"reverse_splits":94},{"month":"2025-05-01","month_label":"May 2025","forward_splits":14,"reverse_splits":108},{"month":"2025-06-01","month_label":"Jun 2025","forward_splits":22,"reverse_splits":113},{"month":"2025-07-01","month_label":"Jul 2025","forward_splits":10,"reverse_splits":81},{"month":"2025-08-01","month_label":"Aug 2025","forward_splits":14,"reverse_splits":101},{"month":"2025-09-01","month_label":"Sep 2025","forward_splits":44,"reverse_splits":106},{"month":"2025-10-01","month_label":"Oct 2025","forward_splits":24,"reverse_splits":96},{"month":"2025-11-01","month_label":"Nov 2025","forward_splits":13,"reverse_splits":86},{"month":"2025-12-01","month_label":"Dec 2025","forward_splits":32,"reverse_splits":145},{"month":"2026-01-01","month_label":"Jan 2026","forward_splits":11,"reverse_splits":79},{"month":"2026-02-01","month_label":"Feb 2026","forward_splits":15,"reverse_splits":98},{"month":"2026-03-01","month_label":"Mar 2026","forward_splits":43,"reverse_splits":148},{"month":"2026-04-01","month_label":"Apr 2026","forward_splits":21,"reverse_splits":108},{"month":"2026-05-01","month_label":"May 2026","forward_splits":17,"reverse_splits":125},{"month":"2026-06-01","month_label":"Jun 2026","forward_splits":39,"reverse_splits":124},{"month":"2026-07-01","month_label":"Jul 2026","forward_splits":33,"reverse_splits":131},{"month":"2026-08-01","month_label":"Aug 2026","forward_splits":7,"reverse_splits":117}],"shape":"series","sql":"SELECT\n    toString(toStartOfMonth(execution_date))               AS month,\n    formatDateTime(toStartOfMonth(execution_date), '%b %Y') AS month_label,\n    countIf(direction = 'forward')                         AS forward_splits,\n    countIf(direction = 'reverse')                         AS reverse_splits\nFROM\n(\n    SELECT\n        execution_date,\n        ticker,\n        any(if(adjustment_type = 'forward_split', 'forward', 'reverse')) AS direction\n    FROM global_markets.stocks_splits\n    WHERE execution_date >= addMonths(toStartOfMonth(today()), -36)\n      AND execution_date <  toStartOfMonth(today())\n      AND split_from > 0\n      AND split_to > 0\n    GROUP BY execution_date, ticker\n)\nGROUP BY month, month_label\nORDER BY month","computed_at":"2026-09-23T14:39:25.553803+00:00","elapsed":0.056472025}