Middle
32
Koşul Aşağıdaki veri şemasına sahip bir veritabanı var // kullanıcı id | isim | soyisim | doğum 1 | Ivan | Petrov | [telefon] | Anna | Petrova | [telefon] | Anna | Petrova | [telefon] // satın alma sku | fiyat | user_id | tarih 1 | 5500 | 1 | [telefon] | 5700 | 1 | [telefon] | 4000 | 1 | [telefon] | 8000 | 2 | [telefon] | 400 | 2 | [telefon] // yasak_listesi user_id | başlangıç_tarihi 1 | [telefon] İstenen: 1. Kullanıcı ve ürün kimliği kombinasyonlarını, kullanıcıların yasaklanmadan önce yaptığı tüm alışverişler için gösterin. Öncelikle kullanıcı adına, sonra SKU'ya göre sıralayın 2. 5000 rubleden fazla tutarda alışveriş yapan kullanıcıları bulun. Adlarını kullanıcı kimliği | isim | soyisim | toplam alışveriş tutarı formatında gösterin
Sorulan şirketler
AI'dan gelen yanıt
sobes.tech yapay zeka
Для решения задачи на 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, чтобы получить эти данные и вывести в нужном формате.