Middle
27
Condizione Esiste un database con il seguente schema di dati // utente id | nome | cognome | nascita 1 | Ivan | Petrov | [telefono] | Anna | Petrova | [telefono] | Anna | Petrova | [telefono] // acquisto sku | prezzo | user_id | data 1 | 5500 | 1 | [telefono] | 5700 | 1 | [telefono] | 4000 | 1 | [telefono] | 8000 | 2 | [telefono] | 400 | 2 | [telefono] // lista_di_ban user_id | data_inizio 1 | [telefono] Deve mostrare: 1. Mostrare le combinazioni uniche di utente e id prodotto per tutti gli acquisti effettuati dagli utenti prima che venissero bannati. Ordinare prima per nome utente, poi per SKU 2. Trovare gli utenti che hanno effettuato acquisti per un importo superiore a 5000 rubli. Mostrare i loro nomi nel formato id utente | nome | cognome | somma degli acquisti
Le aziende dove è stato chiesto
Risposta dell'AI
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, чтобы получить эти данные и вывести в нужном формате.