Условие:
В таблице users есть столбец email. Найдите все email-адреса, которые встречаются более одного раза, и укажите, сколько раз каждый из них встречается. Решение: SELECT email, COUNT(*) AS cnt FROM users GROUP BY email HAVING COUNT(*) > 1 ORDER BY cnt DESC; Объяснение: Условие:
В таблице sales есть столбцы employee_id и amount.
Получите топ-3 продавца по сумме продаж (amount), не используя LIMIT. Решение (через подзапрос): SELECT s1.employee_id, s1.amount FROM sales s1 WHERE ( SELECT COUNT(*) FROM sales s2 WHERE s2.amount > s1.amount ) < 3 ORDER BY s1.amount DESC; Объяснение:
Для каждой строки s1 считаем, сколько строк s2 имеют большую сумму.
Если таких строк меньше 3, значит, текущая строка входит в топ-3. Условие:
У вас есть две таблицы: Обновите цены в products на основе price_updates, только для тех товаров, которые есть в обеих таблицах. Решение: UPDATE products SET price = price_updates.new_price FROM price_updates WHERE products.id = price_updates.product_id; Объяс