Sobes.tech
Middle — Senior

Маалыматтарда адамга карата акыркы сатып алууну кантип табуу керек?

sobes.tech AI

AIден жооп

Маалыматтарда адамдын акыркы сатып алуусун табуу үчүн, адатта, маалыматтарды адамдын идентификатору боюнча топтоо жана эң чоң сатып алуу датасы бар жазууну тандоо керек. Мисалы, эгер маалыматтар user_id, purchase_date жана purchase_id колонкалары бар таблицада сакталса, төмөнкү SQL суроосун колдонсо болот:

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
)

Python менен pandas колдонуп, мындай кылса болот:

import pandas as pd

# df - user_id, purchase_date, purchase_id колонкалары бар DataFrame
last_purchases = df.sort_values('purchase_date').groupby('user_id').tail(1)

Ошентип, биз ар бир колдонуучу үчүн анын акыркы сатып алуусун датасы боюнча алабыз.