Sobes.tech
Middle — Senior

Ma'lumotlarda shaxsga qarab oxirgi xaridni qanday topish mumkin?

sobes.tech AI

AIdan javob

Ma'lumotlarda bir odamning oxirgi xaridini topish uchun odatda ma'lumotlarni odam identifikatori bo'yicha guruhlash va maksimal xarid qilish sanasiga ega yozuvni tanlash kerak. Masalan, agar ma'lumotlar user_id, purchase_date va purchase_id ustunlariga ega jadvalda saqlangan bo'lsa, quyidagi SQL so'rovini ishlatish mumkin:

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 bilan pandas yordamida buni quyidagicha qilish mumkin:

import pandas as pd

# df - user_id, purchase_date, purchase_id ustunlariga ega DataFrame
last_purchases = df.sort_values('purchase_date').groupby('user_id').tail(1)

Shu tarzda, har bir foydalanuvchi uchun uning oxirgi xaridini sanaga ko'ra olamiz.