Junior
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Získajte top 10 vodičov podľa počtu objednávok v každom meste
sobes.tech AI
Odpoveď od AI
Pre získanie top 10 vodičov podľa počtu objednávok v každom meste môžete použiť okno ROW_NUMBER() alebo RANK() v SQL. Príklad dotazu:
SELECT driver_id, city, order_count
FROM (
SELECT
driver_id,
city,
COUNT(order_id) AS order_count,
ROW_NUMBER() OVER (PARTITION BY city ORDER BY COUNT(order_id) DESC) AS rn
FROM orders
GROUP BY city, driver_id
) sub
WHERE rn <= 10
ORDER BY city, order_count DESC;
Tu zoskupujeme objednávky podľa vodiča a mesta, počítame počet objednávok, potom číslujeme vodičov v každom meste podľa zostupného počtu objednávok a vyberáme len prvých 10.