Middle
35
Shart Bunday ma'lumotlar sxemasi bilan bazasi mavjud // foydalanuvchi id | ism | familiya | tug'ilgan sana 1 | Ivan | Petrov | [telefon] | Anna | Petrova | [telefon] | Anna | Petrova | [telefon] // xarid sku | narx | user_id | sana 1 | 5500 | 1 | [telefon] | 5700 | 1 | [telefon] | 4000 | 1 | [telefon] | 8000 | 2 | [telefon] | 400 | 2 | [telefon] // taqiqlash_ro'yxati user_id | boshlanish_sanasi 1 | [telefon] Kerak: 1. Foydalanuvchi va mahsulot ID kombinatsiyalarini, foydalanuvchilar taqiqlanmaganidan oldin amalga oshirilgan barcha xaridlar uchun chiqarish. Avvalo foydalanuvchi nomi, keyin SKU bo'yicha tartiblash 2. 5000 rubldan ortiq summaga xarid qilgan foydalanuvchilarni topish. Ularning ismlarini quyidagi formatda chiqarish: foydalanuvchi id | ism | familiya | xaridlar summasi
Qaerda so'ralgan kompaniyalar
AIdan javob
sobes.tech AI
Для решения задачи на SQL:
- Вывести уникальные комбинации пользователя и id товара для покупок, совершённых до бана, отсортировать по имени пользователя и SKU:
SELECT DISTINCT u.firstname, u.lastname, p.sku
FROM purchase p
JOIN user u ON p.user_id = u.id
LEFT JOIN ban_list b ON p.user_id = b.user_id
WHERE b.date_from IS NULL OR p.date < b.date_from
ORDER BY u.firstname, p.sku;
- Найти пользователей, сумма покупок которых больше 5000, и вывести id, имя, фамилию и сумму:
SELECT u.id, u.firstname, u.lastname, SUM(p.price) AS total_spent
FROM user u
JOIN purchase p ON u.id = p.user_id
GROUP BY u.id, u.firstname, u.lastname
HAVING SUM(p.price) > 5000;
Если нужно на Python, то можно использовать ORM или raw SQL-запросы с библиотекой, например, psycopg2 или SQLAlchemy, чтобы получить эти данные и вывести в нужном формате.