Sobes.tech
Middle — Senior

Kuidas leida andmebaas viimase ostu inimese kohta?

sobes.tech AI

Vastus AI-lt

Et otsida inimese viimast ostu andmetes, tavaliselt tuleb andmed grupeerida inimese identifikaatori järgi ja valida kirje koos maksimaalse ostu kuupäevaga. Näiteks, kui andmed on salvestatud tabelisse, mille veerud on user_id, purchase_date ja purchase_id, saab kasutada järgmist SQL-päringut:

SELECT user_id, purchase_id, purchase_date
FROM purchases p1
WHERE purchase_date = (
  SELECT MAX(purchase_date)
  FROM purchases p2
  WHERE p2.user_id = p1.user_id
)

Pythonis pandas-iga saab seda teha järgmiselt:

import pandas as pd

# df - andmeruut, mille veerud on user_id, purchase_date, purchase_id
last_purchases = df.sort_values('purchase_date').groupby('user_id').tail(1)

Nii saame iga kasutaja jaoks tema viimase ostu kuupäeva järgi.