sql >> Databáze >  >> RDS >> Mysql

systém opakovaného vyúčtování

Určitě bych uložil vaše předplatné odděleně od informací o vašich členech. Nejen, že vám to umožní kompletní záznam všech předplatných, ale také pomůže, pokud potřebujete mít předplatné s proměnnou délkou. Struktura vašich tabulek může být něco takového:

subscriptions
-------------
subscription_id  integer
member_id        integer
start_date       date
end_date         date
date_paid        datetime

Pak můžete přímo použít SQL k vyhledání předplatných, jejichž platnost vyprší atd. Chcete-li tedy najít předplatná, jejichž platnost vyprší během příštích sedmi dnů, můžete mít něco jako

SELECT
  member_id,
  MAX(end_date) as expires_date
FROM
  subscriptions
GROUP BY
  member_id
HAVING
  expires_date < DATE_ADD( CURDATE() INTERVAL 7 DAY )


  1. Mysql limit s příkazem in

  2. Reshape Table v MySQL nebo R

  3. Získejte obálku, tj. překrývající se časové úseky

  4. org.h2.jdbc.JdbcSQLException:ID sloupce nebylo nalezeno