Não tenho certeza se isso é possível...
Tenho uma tabela com uma coluna de data chamada last_sent_date
.
Quero adicionar uma coluna adicional chamada algo como "enviados_últimos_30_dias".
Esta coluna examinará a last_sent_date
coluna e verificará se a data está dentro dos últimos 30 dias. Se estiver, marque-a com 1. Se não, marque-a com 0.
Então os resultados seriam mais ou menos assim:
| email | last_sent_date | sent_last_30_days |
----------------------------------------------
| email1 | 2024-07-10 | 0 |
----------------------------------------------
| email2 | 2024-08-22 | 1 |
----------------------------------------------
| email3 | 2024-09-01 | 1 |
----------------------------------------------
| email4 | 2024-06-05 | 0 |
----------------------------------------------
Sei que isso pode ser feito no Excel, mas como estou trabalhando com 35 milhões de registros, o Excel está um pouco fora de questão.
Isso pode ser feito no MySQL? Como seria essa função?
Use uma visualização:
Você não pode usar uma coluna gerada na tabela porque não é permitido usar funções não determinísticas como
CURRENT_DATE()
.