Sobes.tech
Junior

CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Szerezze meg minden városban a top 10 sofőrt a megrendelések száma szerint

sobes.tech MI

Válasz az MI-től

A városokban a legjobb 10 vezető eléréséhez a megrendelések száma szerint SQL-ben használhatja a ROW_NUMBER() vagy RANK() ablakfüggvényt. Példa lekérdezés:

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;

Itt a megrendeléseket vezető és város szerint csoportosítjuk, megszámoljuk a megrendeléseket, majd minden városban a megrendelések számának csökkenő sorrendjében számozzuk a vezetőket, és csak az első 10-et választjuk ki.