{"slug":"ex-dividend-calendar-from-the-free-sql-api","qid":"declaration_lead","label":"declaration_lead","post_title":"ex-dividend-calendar-from-the-free-sql-api","post_url":"/blog/ex-dividend-calendar-from-the-free-sql-api#q-declaration_lead","columns":["lead_time_bucket","dividend_count"],"rows":[{"lead_time_bucket":"7 days or less","dividend_count":10142},{"lead_time_bucket":"8 to 14 days","dividend_count":6522},{"lead_time_bucket":"15 to 30 days","dividend_count":6515},{"lead_time_bucket":"31 to 60 days","dividend_count":5104},{"lead_time_bucket":"more than 60 days","dividend_count":18476}],"shape":"ranking","sql":"WITH declared AS\n(\n    SELECT\n        ticker,\n        ex_dividend_date,\n        max(declaration_date) AS declared_on\n    FROM global_markets.stocks_dividends\n    WHERE ex_dividend_date >= today() - 365\n      AND ex_dividend_date <  today()\n      AND currency = 'USD'\n      AND declaration_date > toDate('2000-01-01')\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker, ex_dividend_date\n),\nlead_times AS\n(\n    SELECT dateDiff('day', declared_on, ex_dividend_date) AS lead_days\n    FROM declared\n    WHERE declared_on <= ex_dividend_date\n)\nSELECT\n    multiIf(\n        lead_days <=  7, '7 days or less',\n        lead_days <= 14, '8 to 14 days',\n        lead_days <= 30, '15 to 30 days',\n        lead_days <= 60, '31 to 60 days',\n                         'more than 60 days') AS lead_time_bucket,\n    count()                                   AS dividend_count\nFROM lead_times\nGROUP BY lead_time_bucket\nORDER BY min(lead_days)","computed_at":"2026-09-22T14:44:22.239099+00:00","elapsed":0.455221177}