Sobes.tech
Middle
42

Tingimused On olemas andmebaas järgmise andmeskeemiga // kasutaja id | nimi | perekonnanimi | sünnikuupäev 1 | Ivan | Petrov | [telefon] | Anna | Petrova | [telefon] | Anna | Petrova | [telefon] // ost sku | hind | user_id | kuupäev 1 | 5500 | 1 | [telefon] | 5700 | 1 | [telefon] | 4000 | 1 | [telefon] | 8000 | 2 | [telefon] | 400 | 2 | [telefon] // keelu_nimekiri user_id | keelu_algus 1 | [telefon] Vajalik on näidata: 1. Unikaalsed kasutaja ja toote ID kombinatsioonid kõigi ostude kohta, mille on teinud kasutajad enne nende keelamist. Sorteerida esmalt kasutaja nime järgi, siis SKU järgi 2. Leida kasutajad, kes on teinud oste summas üle 5000 rublat. Näidata nende nimesid järgmisel kujul: user_id | nimi | perekonnanimi | ostude kogusumma

Ettevõtted, kust küsiti
OZONOZON

Vastus AI-lt

sobes.tech AI

Для решения задачи на SQL:

  1. Вывести уникальные комбинации пользователя и 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;
  1. Найти пользователей, сумма покупок которых больше 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, чтобы получить эти данные и вывести в нужном формате.